国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java -- 練習(xí)題

這篇具有很好參考價(jià)值的文章主要介紹了java -- 練習(xí)題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

第一題

1.定義一個(gè)Person類,要求有姓名和年齡,并且符合JavaBean標(biāo)準(zhǔn),定義Student類繼承Person,定義測(cè)試類,創(chuàng)建Student對(duì)象,要求創(chuàng)建Student對(duì)象的同時(shí),指定Student對(duì)象的姓名為"張三",只能指定姓名不許指定年齡

class Person {
    private String name;
    private int age;
    public Person() {}
    public Person(String name) {
        this.name = name;
    }
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }

    public String toString() {
        return "Person{name = " + name + ", age = " + age + "}";
    }
}

class Student extends Person{
    public Student() {
    }
    public Student(String name) {
        super(name);
    }
}

public class Test {
    public static void main(String[] args) {
        Student student=new Student("張三");
    }
}

第二題

2.按照以下要求定義類

Animal 
	吃
	睡
Dog 
	吃  狗吃肉
	睡  狗趴著睡
	看門  
Cat  
	吃  貓吃魚
	睡  貓?zhí)芍?	抓老鼠
Home 
	定義一個(gè)動(dòng)物在家吃飯的方法 要求貓和狗都可以傳入
定義測(cè)試類  測(cè)試 Home類在家吃飯的方法 
public class test{
    public static void main(String[] args) {
        new Home().inHomeEat(new Dog());
        new Home().inHomeEat(new Cat());
    }
}
abstract class Animal {
    public abstract void eat();
    public abstract void sleep();
}
class Home {
    void inHomeEat(Animal animal) {
        System.out.print("在家: ");
        animal.eat();
    }
}
class Dog extends Animal {
    @Override
    public void eat() {
        System.out.println("狗吃肉");
    }

    @Override
    public void sleep() {
        System.out.println("狗趴著睡");
    }

}
class Cat extends Animal {
    @Override
    public void eat() {
        System.out.println("貓吃魚");
    }

    @Override
    public void sleep() {
        System.out.println("貓?zhí)芍?);
    }
}

第三題

3.鍵盤錄入一個(gè)字符串,判斷這個(gè)字符串是否是對(duì)稱的字符串 比如 abcba abba aabbebbaa 如果是打印"是對(duì)稱的字符串",如果不是打印"不是對(duì)稱的字符串"

public class test{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("輸入一個(gè)字符串: ");
        String str = sc.nextLine();
        char[] charList = str.toCharArray();
        boolean b = check(charList);
        System.out.println(b?"是對(duì)稱的字符串":"不是對(duì)稱的字符串");
    }
    public static boolean check(char[] charList) {
        int maxIndex = charList.length - 1;
        for (int i = 0; i < charList.length / 2; i++) {
            if (charList[i] != charList[maxIndex]) {
                return false;
            }
            maxIndex--;
        }
        return true;
    }
}

第四題

4.將字符串 " we-like-java " 轉(zhuǎn)換為 "EW-EKIL-AVAJ" 也就是去掉前后空格,并將每個(gè)單詞反轉(zhuǎn).

        String string = "         we-like-java       ";
        String[] arr = string.trim().toUpperCase().split("-");
        for (int i = arr.length - 1; i >= 0; i--) {
            StringBuilder sb = new StringBuilder(arr[i]);
            arr[i] = sb.reverse().toString();
        }
        StringBuilder sb =new StringBuilder();
        for (int i = 0; i < arr.length; i++) {
            sb.append(arr[i]);
            if (i < arr.length - 1) {
                sb.append("-");
            }
        }
        System.out.println(sb);

第五題

**5.網(wǎng)絡(luò)程序中,如聊天室,聊天軟件等,經(jīng)常需要對(duì)用戶提交的內(nèi)容進(jìn)行敏感詞過濾如"槍","軍火"等,這些詞都不可以在網(wǎng)上進(jìn)行傳播,需要過濾掉或者用其他詞語替換.鍵盤錄入一個(gè)字符串 將敏感詞替換成 "*" **

        String[] blockKeys = {"槍", "軍火"};
        System.out.print("輸入要提交的內(nèi)容: ");
        String comment = sc.nextLine();
        for (int i = 0; i < blockKeys.length; i++) {
            comment = comment.replaceAll(blockKeys[i],"*");
        }
        System.out.println(comment);

第六題

6.計(jì)算 987654321123456789000 除以 123456789987654321的值,注意這個(gè)結(jié)果為BigInteger類型,將BigInteger類型轉(zhuǎn)換為字符串類型,然后轉(zhuǎn)換為double類型.精確計(jì)算3120.25乘以1.25,注意這個(gè)結(jié)果為BigDecimal類型,同樣轉(zhuǎn)換為字符串類型,然后轉(zhuǎn)換為double類型,然后獲取這兩個(gè)結(jié)果的最大值

BigInteger bint1 = new BigInteger("987654321123456789000");
BigInteger bint2 = new BigInteger("123456789987654321");
Double d1 = Double.parseDouble(bint1.divide(bint2).toString());
Double d2 = Double.parseDouble(new BigDecimal(3120.25/1.25).toString());
System.out.println("較大的值為: " + Math.max(d1,d2));

第七題

7.鍵盤錄入一個(gè)生日的字符串(xxxx-xx-xx) 計(jì)算這個(gè)人活了多少天

        System.out.print("請(qǐng)輸入您的生日(年-月-日): ");
        String personBirthday = sc.nextLine();
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date birthDay = df.parse(personBirthday);
            System.out.println(("您活了" + (new Date().getTime() - birthDay.getTime())/1000/60/60/24) + "天");
        } catch (ParseException e) {
            System.out.println("輸入錯(cuò)誤");
        }

第八題

8.鍵盤錄入一個(gè)指定的年份,獲取指定年份的2月有多少天

public class test{
    public static void main(String[] args) throws PrintDataException {
        System.out.print("請(qǐng)輸入年份");
        String printYear = sc.nextLine();
        try{
            int intPrintYear = Integer.parseInt(printYear);
            if (intPrintYear < 0){
                throw new PrintDataException("輸入數(shù)據(jù)錯(cuò)誤");
            }
            Calendar c = Calendar.getInstance();
            c.set(intPrintYear, 2, 1);
            c.add(Calendar.DAY_OF_MONTH, -1);
            System.out.println(c.get(Calendar.DAY_OF_MONTH));
        } catch (NumberFormatException e) {
            System.out.println("輸入錯(cuò)誤");
        }
    }
}
class PrintDataException extends Exception {
    public PrintDataException() { super();}
    public PrintDataException(String message) {
        super(message);
    }
}

第九題

9.將"Hello AbcDe"這個(gè)字符串轉(zhuǎn)換為一個(gè)byte類型的數(shù)組,將數(shù)組的后5個(gè)元素復(fù)制到一個(gè)長(zhǎng)度為5的byte數(shù)組中,然后將數(shù)組中的元素進(jìn)行降序排列,將數(shù)組中的前3個(gè)元素放入到一個(gè)新的長(zhǎng)度為3的數(shù)組中,并升序排列,最后查找字符'c'代表數(shù)值在新數(shù)組中的索引位置(可以使用Arrays工具類)

byte[] byteArr1 = "Hello AbcDe".getBytes();
byte[] byteArr2 = new byte[5];
System.arraycopy(byteArr1,byteArr1.length - 5, byteArr2, 0, 5);
// 排序
Arrays.sort(byteArr2);
// 反轉(zhuǎn)
for (int i = 0; i < byteArr2.length / 2; i++ ) {
    byte tmp = byteArr2[i];
    byteArr2[i] = byteArr2[byteArr2.length - 1 - i];
    byteArr2[byteArr2.length - 1 - i] = tmp;
}
byte[] byteArr3 = Arrays.copyOf(byteArr2, 3);
Arrays.sort(byteArr3);
for (int i = 0; i < byteArr3.length; i++) {
    if (byteArr3[i] == 'c') {
        System.out.println("c的索引為: " + i);
        break;
    }
}

第十題

10.定義一個(gè)Person類,,要求有年齡,提供get/set方法,要求設(shè)置年齡時(shí),如果年齡小于0或者年齡大于200拋出"NoAgeException"異常,如果年齡正常則正常設(shè)置.

class NoAgeException extends Exception {
    public NoAgeException() {super();}
    public NoAgeException(String message) {
        super(message);
    }
}
class Person  {
    private int age;
    public int getAge() {
        return age;
    }
    public void setAge(int age) throws NoAgeException {
        if (age < 0 || age > 200){
            throw new NoAgeException();
        }
        this.age = age;
    }
}

第十一題

使用54張牌打亂順序,三個(gè)玩家參與游戲,三人交替摸牌,每人17張牌,最后三張留作底牌.文章來源地址http://www.zghlxwxcb.cn/news/detail-408810.html

import java.util.ArrayList;
import java.util.Random;

public class test {
    public static void main(String[] args) throws SizeZeroExtends {
        ArrayList<String> pokerArrayList = new ArrayList<>();
        String[] colors = {"?","?","?","?"};
        String[] numbers = "2-A-K-Q-J-10-9-8-7-6-5-4-3".split("-");
        for (String str : colors) {
            for (String number : numbers) {
                pokerArrayList.add(str+number);
            }
        }
        pokerArrayList.add("小王");
        pokerArrayList.add("大王");
        System.out.println(pokerArrayList);
        // 洗牌
        pokerArrayList = shuffle(pokerArrayList);
        // 發(fā)牌
        ArrayList<String> player1 = new ArrayList<String>();
        ArrayList<String> player2 = new ArrayList<String>();
        ArrayList<String> player3 = new ArrayList<String>();
        ArrayList<String> dipai = new ArrayList<String>();

        for (int i = 0; i < pokerArrayList.size(); i++) {
            if (i >= 51) {
                dipai.add(pokerArrayList.get(i));
            } else {
                if (i % 3 == 0) {
                    player1.add(pokerArrayList.get(i));
                } else if (i % 3 == 1) {
                    player2.add(pokerArrayList.get(i));
                } else {
                    player3.add(pokerArrayList.get(i));
                }
            }
        }
        System.out.println("玩家一: " + pokerSort(player1, numbers));
        System.out.println("玩家二: " + pokerSort(player2, numbers));
        System.out.println("玩家三: " + pokerSort(player3, numbers));
        System.out.println("底牌: " + pokerSort(dipai, numbers));
    }
    // 洗牌
    public static ArrayList<String> shuffle(ArrayList<String> arrayList) throws SizeZeroExtends {
        if (arrayList == null) {
            throw new NullPointerException("傳入集合為null");
        }
        if (arrayList.size() == 0) {
            throw new SizeZeroExtends("傳入集合長(zhǎng)度為0");
        }
        int total = arrayList.size();
        Random random = new Random();
        ArrayList<String> newArrayList = new ArrayList<String>();
        int count = 0;
        while (arrayList.size() > 0) {
            int index = random.nextInt(total - count);
            String str = arrayList.get(index);
            arrayList.remove(index);
            newArrayList.add(str);
            count++;
        }
        return newArrayList;
    }
    // 排序
    public static ArrayList<String> pokerSort(ArrayList<String> arrayList, String[] arr) throws SizeZeroExtends {
        if (arrayList == null) {
            throw new NullPointerException("傳入集合為null");
        }
        if (arrayList.size() == 0) {
            throw new SizeZeroExtends("傳入集合長(zhǎng)度為0");
        }
        ArrayList<Character> charArrayList = new ArrayList<>();
        ArrayList<String> stringArrayList = new ArrayList<>();
        for (int i = 0; i < arrayList.size(); i++) {
            if (arrayList.get(i).equals("小王") || arrayList.get(i).equals("大王")){
                continue;
            }
            charArrayList.add(arrayList.get(i).charAt(1));
        }
        int count = 0;
        while (arrayList.size() > 0) {
            if (arrayList.contains("大王")) {
                stringArrayList.add("大王");
                arrayList.remove("大王");
            }
            if (arrayList.contains("小王")) {
                stringArrayList.add("小王");
                arrayList.remove("小王");
            }
            while (charArrayList.indexOf(arr[count].charAt(0)) != -1) {
                int index = charArrayList.indexOf(arr[count].charAt(0));
                stringArrayList.add(arrayList.get(index));
                arrayList.remove(index);
                charArrayList.remove(index);
            }
            count++;
        }
        return stringArrayList;
    }
}

class SizeZeroExtends extends Exception{
    public SizeZeroExtends(){ super(); }
    public SizeZeroExtends(String message) {
        super(message);
    }
}

到了這里,關(guān)于java -- 練習(xí)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 每天一道算法練習(xí)題--Day15 && 第一章 --算法專題 --- -----------二叉樹的遍歷

    每天一道算法練習(xí)題--Day15 && 第一章 --算法專題 --- -----------二叉樹的遍歷

    二叉樹作為一個(gè)基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),遍歷算法作為一個(gè)基礎(chǔ)的算法,兩者結(jié)合當(dāng)然是經(jīng)典的組合了。很多題目都會(huì)有 ta 的身影,有直接問二叉樹的遍歷的,有間接問的。比如要你找到樹中滿足條件的節(jié)點(diǎn),就是間接考察樹的遍歷,因?yàn)槟阋业綐渲袧M足條件的點(diǎn),就需要進(jìn)行遍

    2024年02月01日
    瀏覽(22)
  • 《Lua程序設(shè)計(jì)第四版》 第一部分自做練習(xí)題答案

    Lua程序設(shè)計(jì)第四版第一部分語言基礎(chǔ)自做練習(xí)題答案,帶?為重點(diǎn)。 運(yùn)行階乘的示例并觀察,如果輸入負(fù)數(shù),程序會(huì)出現(xiàn)什么問題?試著修改代碼來解決問題 輸入負(fù)數(shù),程序會(huì)死循環(huán),修改如下 分別使用-l參數(shù)和dofile運(yùn)行twice示例,并感受你喜歡哪種方式 載入庫,在 lua解釋

    2024年02月13日
    瀏覽(96)
  • 《Lua程序設(shè)計(jì)第四版》 第一部分前8章自做練習(xí)題答案

    Lua程序設(shè)計(jì)第四版第一部分語言基礎(chǔ)自做練習(xí)題答案,帶?為重點(diǎn)。 運(yùn)行階乘的示例并觀察,如果輸入負(fù)數(shù),程序會(huì)出現(xiàn)什么問題?試著修改代碼來解決問題 輸入負(fù)數(shù),程序會(huì)死循環(huán),修改如下 分別使用-l參數(shù)和dofile運(yùn)行twice示例,并感受你喜歡哪種方式 載入庫,在 lua解釋

    2024年02月13日
    瀏覽(155)
  • 【Java練習(xí)題匯總】《第一行代碼JAVA》綜合測(cè)試三,匯總Java練習(xí)題

    【Java練習(xí)題匯總】《第一行代碼JAVA》綜合測(cè)試三,匯總Java練習(xí)題

    線程的啟動(dòng)方法是( )。 A. run() B. start() C. begin() D. accept() Thread 類提供表示線程優(yōu)先級(jí)的靜態(tài)常量,代表普通優(yōu)先級(jí)的靜態(tài)常量是( )。 A. MAX_PRIORITY B. MIN_PRIORITY C. NORMAL_PRIORITY D. NORM_PRIORITY 設(shè)置線程優(yōu)先級(jí)的方法是( )。 A. setPriority() B. getPriority() C. getName() D. setName() 下面 ( )方法是

    2024年02月14日
    瀏覽(32)
  • java -- 練習(xí)題

    1.定義一個(gè)Person類,要求有姓名和年齡,并且符合JavaBean標(biāo)準(zhǔn),定義Student類繼承Person,定義測(cè)試類,創(chuàng)建Student對(duì)象,要求創(chuàng)建Student對(duì)象的同時(shí),指定Student對(duì)象的姓名為\\\"張三\\\",只能指定姓名不許指定年齡 2.按照以下要求定義類 3.鍵盤錄入一個(gè)字符串,判斷這個(gè)字符串是否是對(duì)稱的字符串

    2023年04月09日
    瀏覽(26)
  • Java 練習(xí)題

    臺(tái)式機(jī),安卓手機(jī),iPhone手機(jī),他們其實(shí)都是計(jì)算機(jī),計(jì)算機(jī)干的事情就是嚴(yán)格的執(zhí)行人的指令,但是目前的科技條件下,電腦仍然有一個(gè)很大的短板,這個(gè)短板是? A 思考 B 計(jì)算 答案:A 計(jì)算機(jī)不能思考,那他是如何工作的呢,下面的描述哪個(gè)是對(duì)的? A 等待人工智能的進(jìn)

    2024年02月03日
    瀏覽(24)
  • Java練習(xí)題2022-1

    Java練習(xí)題2022-1

    HashSet是Java中常用的Set集合,向HashSet集合中添加數(shù)據(jù)對(duì)象時(shí),首先會(huì)調(diào)用對(duì)象的hashCode()方法獲取哈希碼,根據(jù)哈希碼計(jì)算對(duì)象的存儲(chǔ)位置,如果相應(yīng)位置上已經(jīng)有數(shù)據(jù)對(duì)象,則會(huì)調(diào)用對(duì)象的equals()方法判斷新加入的對(duì)象與現(xiàn)有對(duì)象是否重復(fù),如果重復(fù)則拒絕加入。為了使用

    2024年02月08日
    瀏覽(23)
  • JAVA練習(xí)題——判斷題

    1:java語言中不用區(qū)分字母的大寫小寫 T???????? F 2:Java的字符類型采用的是ASCII編碼。 T???????? F 3:Java的字符類型采用的是Unicode編碼,每個(gè)Unicode碼占16個(gè)比特。 T ? ???????F 4:Java的各種數(shù)據(jù)類型占用固定長(zhǎng)度,與具體的軟硬件平臺(tái)環(huán)境無關(guān)。 T? ???????F

    2024年02月09日
    瀏覽(29)
  • Java選擇結(jié)構(gòu)作業(yè)練習(xí)題

    Java選擇結(jié)構(gòu)作業(yè)練習(xí)題

    1.從鍵盤輸入3個(gè)數(shù),求最大值 請(qǐng)輸入3個(gè)數(shù): 5 2 11 ? 你好,最大數(shù)是11 我想買車,買什么車決定于我在銀行有多少存款: 如果我的存款超過500萬,我就買卡迪拉克 否則,如果我的存款超過100萬,我就買帕薩特 否則, 如果我的存款超過50萬,我就買依蘭特 否則, 如果我的存

    2024年02月02日
    瀏覽(31)
  • 2021級(jí)Java程序設(shè)計(jì)課程練習(xí)題

    2021級(jí)Java程序設(shè)計(jì)課程練習(xí)題

    1-1 抽象類是不能實(shí)例化的。? T ? 1-2?JAVA抽象類中一定含有抽象方法。? F ? 答題時(shí)沒有看到一定qaq,抽象類不一定包含抽象方法,但包含抽象方法的類一定是抽象類。 2-2 有如下程序代碼, 程序運(yùn)行的結(jié)果是( )。 D.false true 第一個(gè)竟然是false?。?! 使用“==”比較兩個(gè)字符

    2023年04月23日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包