JAVA--基礎前言開發

1編寫一個Java方法,生成5個不重複的英文小寫字母,並按字母順序排列好。java

| //編寫一個Java方法,生成5個不重複的英文小寫字母,並按字母順序排列好。c++

public class Test8 {數組

public static void main(String[] args){dom

//生成的隨機數存放在數組中工具

         char[]meth=new char[5];ui

         for(int  i=0;i<5;i++){this

             Random  ss=new Random();對象

         //隨機生成英文字母,範圍是26 加97轉換爲小寫的英文字母排序

           int aa=ss.nextInt(26)+97;索引

           meth[i]=(char)aa;

             System.out.println("排序以前"+meth[i]);

         }

         //排序的方法 升序排列

        Arrays.sort(meth);

         for(int i=0;i<meth.length;i++){

             System.out.println("排序以後:"+meth[i]);

         }

    }

}

|

2. 隨機驗證碼。隨機生成十組六位字符組成的驗證碼。驗證碼由大小寫字母、數字字符組成

| public class Test9 {

    public static void main(String[] args) {

        meth();

    }

    public  static void  meth(){

        for (int i=0; i <10; i++) {

            for (int j=0; j < 2; j++) {

                Random ss = new Random();

                int srg = ss.nextInt(26) + 97;//小寫字母

                int srf = ss.nextInt(26) + 65;//大寫字母

                int srh = ss.nextInt(10) + 48;//數字

                char aa = (char) srg;

                char bb = (char) srf;

                char cc = (char) srh;

                System.out.print(aa+" "+bb+" "+cc+" ");

            }

            System.out.println();

        }

    }

}

|

3. 猜數字小遊戲,遊戲開始時,會隨機生成一個 1-100 之間的整數,玩家猜想一個數字,而後跟隨機生成的數字進行對比,大了系統提示大了,小了系統提示小了,直到玩家猜中,遊戲結束。

| public class Test3{

    public static void main(String[]args){

        Random  arr=new Random();

        int  num=arr.nextInt(100);//隨機生成1到100 之間的整數

        Scanner  input=new Scanner(System.in);

        while (true){

            System.out.println("請玩家輸入一個數字");

            int sum=input.nextInt();

            if(sum>num){

                System.out.println("大了");

            }else if(sum<num){

                System.out.println("小了");

            }else if(num==sum) {

                System.out.println("恭喜您猜中了");

                break;

            }

        }

        System.out.println("遊戲結束");

    }

}

|

4. 鍵盤錄入學生信息,保存到集合中。循環錄入的方式,1:表示繼續錄入,0:表示結束錄入。定義學生類,屬性爲姓名,年齡,使用學生對象保存錄入數據。

使用ArrayList集合,保存學生對象,錄入結束後,遍歷集合。

| public class Test10 {

    //定義一個全局的ArrayList<Stundent>list;

    private ArrayList<Student> list;

    public static void main(String[]args){

       //建立當前類的對象,調用成員方法

        Test10   test10=new Test10();

        test10.display();

    }

    public void display() {

        //使用ArrayList來保存Student對象

        list = new ArrayList<>();

        Student student = null;

        while (true) {

            //循環一次從新賦值

            student = new Student();

            Scanner sc = new Scanner(System.in);

            System.out.println("請輸入學生的信息:1:表示繼續錄入,0:表示結束錄入");

            int a = sc.nextInt();

            //等於1的時候,表示繼續錄入

            if(a==1) {

                System.out.println("請錄入學生的姓名");

                String name = sc.next();

                System.out.println("請錄入學生的年齡");

                int age = sc.nextInt();

                //使用學生對象保存錄入的數據

                student.setName(name);

                student.setAge(age);

                //保存學生對象到Arraylist集合中

                list.add(student);

            } else if (a == 0) {

                //等於0時,表示錄入結束,錄入結束後遍歷集合

                for (Student ss : list) {

                    System.out.println(ss.getName() + "====" + ss.getAge());

                }

                System.out.println("錄入完畢 OK-OK");

                break;

            } else {

                System.out.println("你的輸入有誤");

                break;

            }

        }

    }

}

|

5. 集合工具類。 定義findIndex方法,在某集合中,查找某元素,返回第一次出現的索引。 定義replace方法,將某集合中的某元素,所有替換爲新元素。

| public class Test11 {

    public static void main(String[] args) {

    ArrayList<Integer>list=new ArrayList<>();

        list.add(83);

        list.add(72);

        list.add(83);

        list.add(83);

        list.add(77);

        list.add(75);

        list.add(72);

        list.add(72);

        list.add(67);

        list.add(65);

        //建立當前類的對象

        Test11  test11=new Test11();

        System.out.println("72的索引是:"+test11.findIndex(list,72));

        System.out.print("替換以前:[");

        for(Integer  ss:list){

            System.out.print(+ss+" ");

        }

        System.out.print("]");

        System.out.println();//換行

        test11.replace(list,72,88);

        System.out.print("替換以後:[");

        for(Integer  arg:list){

            System.out.print(arg+" ");

        }

        System.out.print("]");

    }

      //list就是要查找的集合,aa就是要查找的元素

    public  int findIndex(ArrayList<Integer>list,int aa){

        int  index=-1;//表示沒有

        for(int  i=0;i<list.size();i++){

            if(list.get(i)==aa){

                index=i;  //把下標給index,根據下標返回索引

                break;

            }

        }

        return index;

    }

    public  void  replace(ArrayList<Integer>list,int oldValue,int  newValue){

        for(int i=0;i<list.size();i++){

            if(list.get(i)==oldValue){

            //用指定的元素替換此列表中指定位置的元素

                //根據下標給指定位置的元素設置值

                list.set(i,newValue);

            }

        }

    }

}

//運行的結果:

72的索引是:1

替換以前:[83 72 83 83 77 75 72 72 67 65 ]

替換以後:[83 88 83 83 77 75 88 88 67 65 ]

|

6統計數字出現次數。 定義getNumList方法,隨機生成100個數字,數字範圍從1到10。 定義printCount方法,統計每一個數字出現的次數並打印到控制檯。

| public class Test12 {

    public static void main(String[] args){

        //建立當前類的對象

        Test12  meth=new Test12();

        int[]ss=meth.getNumList();

        for(int i=0;i<ss.length;i++){

            System.out.println(ss[i]);

        }

         meth.printCount(ss);

    }

    public  int[] getNumList(){

    int[]aa=new int[100];

        for(int i=0;i<100;i++){

            Random  r=new Random();

            aa[i]=r.nextInt(10);

        }

        return aa;

    }

    public  void  printCount(int[]src){

        //kongzhi

        int  num=0;

        //由於代碼實現效果是10個數

        for(int i=0;i<10;i++){

            int  count=0;

            for(int j=0;j<src.length;j++){

                if(src[j]==num){

                   count++;

                }

            }

            num++;

            System.out.println("數字:"+num+"出現了"+count+"次");

        }

    }

}

//運行的結果:

數字:1出現了7次

數字:2出現了10次

數字:3出現了12次

數字:4出現了13次

數字:5出現了11次

數字:6出現了4次

數字:7出現了7次

數字:8出現了11次

數字:9出現了16次

數字:10出現了9次

|

7. 模擬統計班級考試分數分佈狀況,分別統計100-80,79-60,59-40,39-0各個階段的人數。 定義getScoreList方法,隨機生成50個數字,數字範圍從0到100。 定義countScore方法,統計各個階段的分數個數。 定義printCount方法,打印各個階段的統計結果。

| public class Test13 {

    public static void main(String[] args) {

       //建立當前類的對象

        Test13  sc=new Test13();

        int[]meth=sc.getScoreList();

        for(int i=0;i<meth.length;i++){

            System.out.print(meth[i]+" ");

        }

        System.out.println();

        sc.countScore(meth);

    }

    public  int[]  getScoreList(){

        int[]meth=new int[50];

        for(int i=0;i<50;i++){

            Random  ss=new Random();

            meth[i]=ss.nextInt(100);//生成的範圍

        }

        return meth;

    }

    public  void countScore(int[]sum){

        int a=0;

        int b=0;

        int c=0;

        int d=0;

        for(int i=0;i<sum.length;i++){

            if(sum[i]>=80&&sum[i]<=100){

                a++;

            }else if(sum[i]>=60&&sum[i]<=79){

                b++;

            }else if(sum[i]>=40&&sum[i]<=59){

                c++;

            }else if(sum[i]>0&&sum[i]<=39){

                d++;

            }

        }

        System.out.println("80--100分的個數:"+a+"人");

        System.out.println("60--79分的個數:"+b+"人");

        System.out.println("40--59分的個數:"+c+"人");

        System.out.println("0--39分的個數:"+d+"人");

    }

}

//運行的結果:

80--100分的個數:15

80--100分的個數:8

80--100分的個數:7

80--100分的個數:20

|

8. 隨機生成n張撲克牌。開發提示:使用集合保存全部的撲克牌對象。 從全部牌中,隨機移除n張牌,保存到新集合。 判斷n的值,不能超越一副撲克牌的範圍。

| public class Test14 {

    public static void main(String[] args) {

        //建立當前類的對象

        Test14  srg=new Test14();

        int  n=10;

        ArrayList<Card>meth=srg.MoveString(n);

        if(meth!=null){

            System.out.println("隨機第"+n+"張牌");

            for(Card  qq:meth){

                System.out.print(qq.getHs()+""+qq.getDs()+" ");

            }

        }

    }

     //從全部牌中,隨機移除n張牌,保存到新集合。

    public  ArrayList<Card>  MoveString(int  n){

        //此集合用來保存移除的牌

        ArrayList<Card>list2=new ArrayList<>();

        //判斷n的值,不能超越一副撲克牌的範圍。

        if(n>54||n<0){

            return null;

        }else{

            //此集合用來保存生成的全部的牌

             ArrayList<Card>list3=getString();

             Random  ss=new Random();

             for(int i=0;i<n;i++){ //隨機生成N張牌

               int  index=ss.nextInt(list3.size());//範圍是list集合中存儲的花色和點數

              //remove方法是有返回值的,返回的就是當前移除的對象,移除誰返回誰。

               Card  card=list3.remove(index);//根據下標索引移除

               //把移除的n張牌保存到新的集合中

                 list2.add(card);

             }

        }

       return list2;

    }

    public  ArrayList<Card> getString(){

        //此集合用來保存生成的花色和點數

        ArrayList<Card>list=new ArrayList<>();

        String[]hs={"紅桃","黑桃","梅花","方片"};

        String[]ds={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};

        for(int i=0;i<hs.length;i++){

            for(int j=0;j<ds.length;j++){

                //利用面向對象的知識

                //建立目標類的對象,把花色和點數放在對象中

                Card  card=new Card(hs[i],ds[j]);

                list.add(card);//把對象保存到list集合中

            }

        }

        return list;

    }

}

//利用面向對象的思路解決問題

public class Card {

    String  hs;

    String  ds;

    public  Card(){

    }

    public  Card(String  hs,String ds){

        this.hs=hs;

        this.ds=ds;

    }

    public String getHs() {

        return hs;

    }

    public void setHs(String hs) {

        this.hs = hs;

    }

    public String getDs() {

        return ds;

    }

    public void setDs(String ds) {

        this.ds = ds;

    }

}

//運行的結果

隨機第10張牌

梅花A 方片K 梅花4 方片2 方片6 梅花J 方片5 梅花2 紅桃5 方片10

|

9. 自定義MyList類,實現存取元素的功能。 定義add方法,能夠保存元素,添加MyList尾部。 定義remove方法,能夠獲取到最後添加的元素,並從MyList中移除該元素。 定義show方法,能夠展現MyList中的元素。

| import java.util.ArrayList;

public class MyList {

    ArrayList<Integer>list=new ArrayList<>();

    public  void add(Integer  a){

       list.add(a);

    }

    public  int  remove(){

        int move=list.remove(list.size()-1);

        return  move;

    }

    public  void  show(){

        System.out.println(list);

    }

    public static void main(String[] args) {

        //建立當前類的duix

        MyList   myList=new MyList();

         for(int  i=0;i<5;i++){

             myList.add(i);

         }

        System.out.println("添加元素後:");

         myList.show();

        System.out.println("獲取元素:");

         int num=myList.remove();

         System.out.println(num);

        //獲取元素後

         myList.show();

    }

}

//運行的結果:

添加元素後:

[0, 1, 2, 3, 4]

獲取元素:

4

[0, 1, 2, 3]

|

10. 模擬樂透號碼。 隨機生成10個號碼,範圍1-50,做爲樂透號碼。 鍵盤錄入10個整數,不能重複。 錄入的整數與樂透號碼對比,統計猜中了幾個。當使用ArrayList集合時,能夠經過contains方法,判斷某集合中是否包含某元素,方法示例以下:

| public class Test17 {

    public static void main(String[] args) {

      //建立當前類的對象

        Test17  t=new Test17();

         ArrayList<Integer>list=t.getString();

        System.out.println("隨機生成的數是:");

         for(int a:list){

             System.out.print(a+" ");

         }

        System.out.println();

         //用戶輸入的數

        ArrayList<Integer>list2=t.setString();

        System.out.println("用戶輸入的數"+list2);

        System.out.println("隨機生成的數"+list);

        System.out.println("猜中了"+t.stuName(list,list2)+"個數數字");

    }

    //此方法用來作對比,隨機生成的數和用戶輸入的數對比,看猜中的幾個

    public  int  stuName(ArrayList<Integer> getString,ArrayList<Integer> setString){

         int  count=0;

         for(int  i=0;i<getString.size();i++){

             int temp=getString.get(i);

             if(setString.contains(temp)){

                 count++;

             }

         }

         return count;

    }

    //鍵盤輸入的數

    public  ArrayList<Integer>  setString(){

        ArrayList<Integer>list1=new ArrayList<>();

        Scanner  r=new Scanner(System.in);

       for(int i=0;i<10;i++){

            System.out.println("請輸入數字");

              int  sum=r.nextInt();

              //若是不包含就添加到list集合中

              if(!list1.contains(sum)){

                  list1.add(sum);

              }else{

                  System.out.println("重複數字無效");

                  i--;

              }

          }

          return list1;

    }

    //隨機生成的數

     public   ArrayList<Integer>  getString(){

        ArrayList<Integer>list=new ArrayList<>();

        Random  ss=new Random();

        for(int  i=0;i<10;i++){

            int num=ss.nextInt(50)+1;

            //若是包含(true)則取相反,就變爲false

            //也就是說不包含的話,就添加到集合中

            if(!list.contains(num)){

                list.add(num);

            }else{

                i--;

            }

        }

        return  list;

    }

}

//運行的結果:

用戶輸入的數[23, 45, 65, 67, 78, 8, 76, 54, 43, 9]

隨機生成的數[36, 11, 26, 27, 46, 4, 44, 48, 2, 43]

猜中了1個數數字

|

相關文章
相關標籤/搜索