07-30 數組

一維數組定義

        int[] array1=new int[10];
        Scanner scanner=new Scanner(System.in);
        for (int i = 0; i < array1.length; i++) {
            array1[i]=scanner.nextInt();
        }
        for (int j = 0; j < array1.length; j++) {
            System.out.println(array1[j]);
        }
        int[] array2={1,2,3,4,5,6,7};
        for (int j = 0; j < 7; j++) {
            System.out.println(array2[j]);
        }

求平均值

        double[] scores=new double[5];
        Scanner scanner=new Scanner(System.in);
        double sum=0;
        for (int i = 0; i < scores.length; i++) {
            System.out.println("請輸入數據:");
            scores[i]=scanner.nextDouble();
            sum=sum+scores[i];
        }
        System.out.println("平均分是"+sum/5);

冒泡排序

       int[] array={52,75,73,42,36,92};
        for (int i = 0; i < array.length-1; i++) {
            for (int j = 0; j < array.length-i-1; j++) {
                int temp=0;
                if(array[j]>array[j+1]){
                    temp=array[j];
                    array[j]=array[j+1];
                    array[j+1]=temp;
                }
            }
        }
        //Arrays.sort(array);(排序方法)
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }

數組截取

int[] array={52,75,73,42,36,92};
int[] array1=Arrays.copyOfRange(array, 1,4);
for (int i = 0; i < array1.length; i++) {
            System.out.println(array1[i]);
        }

數組複製

int[] array={52,75,73,42,36,92};
int[] array2=new int[10];
System.arraycopy(array, 1, array2, 1, 4);
for (int i = 0; i < array2.length; i++) {
            System.out.println(array2[i]);
}

二維數組定義

        int[][] array=new int[3][];
        array[0]=new int[]{1,2,3,4,5};
        System.out.println(array[0][1]);

        int[][] array1=new int [2][3];
        array1[1]=new int[]{1,2,3,4,5}; 
        System.out.println(array1[1][4]);

        int[][] array2={{1,2,3},{4,5,6},{7,8,9}};
        System.out.println(array2[1][2]);

判斷郵箱地址

        System.out.println("請輸入郵箱地址:");
        Scanner scanner=new Scanner(System.in);
        String email=scanner.next();

        if(email.contains("@")){
            int index=email.indexOf("@");
            String start=email.substring(0, index);
            boolean isLetterOrNum=true;
            for (int i = 0; i < start.length(); i++) {
                char ch=start.charAt(i);
                if(!Character.isLetterOrDigit(ch)){
                    break;
                }
            }
            if(isLetterOrNum==false){
                System.out.println("起始不是字母或數字!");
            }


            if(email.contains(".")){
                int index1=email.lastIndexOf(".");
                String center=email.substring(index+1, index1);
                boolean isNumOrLetter=true;
                for (int i = 0; i < center.length(); i++) {
                    char ch1=center.charAt(i);
                    if(!Character.isDigit(ch1)){
                        break;
                    }
                }
                if(isNumOrLetter==false){
                    System.out.println("中間不是數字!");
                }

            }else{
                System.out.println("缺少.符號!");
            }


            boolean end=false;
            if(email.endsWith(".com")||email.endsWith(".cn")){
                end=true;
                System.out.println("郵箱格式正確!");
            }else{
                System.out.println("結尾格式格式錯誤!");
            }


        }else{
            System.out.println("缺少@符號!");
        }

字符串切換大小寫

        String str="asdQWQzxc";
        String s="";
        for (int i = 0; i < str.length(); i++) {
            char c=str.charAt(i);
            boolean islower=Character.isLowerCase(c);
            if(islower){
                c=Character.toUpperCase(c);
            }else{
                c=Character.toLowerCase(c);
            }
            s=s+c;
        }
        System.out.println(s);

隨機產生10個兩位數,冒泡排序,從小到大輸出

        Random ran=new Random();
        int[] array=new int[10];
        for (int i = 0; i < array.length; i++) {
            array[i]=ran.nextInt(90)+10;
            System.out.print(array[i]+" ");
        }
        System.out.println();
        Arrays.sort(array);
        System.out.println(Arrays.toString(array));

輸入一個四維數組,求正,副對角線上數的乘積

        int[][] array=new int[4][4];
        Random ran=new Random();
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array.length; j++) {
                array[i][j]=ran.nextInt(10);
                System.out.print(array[i][j]+"\t");
            }
            System.out.println();
        }

        int temp1=1;
        int temp2=1;
        for (int i = 0; i < array.length; i++) {
            temp1=temp1*array[i][i];  //array[i][i]可以直接取值 
            temp2=temp2*array[i][4-i-1];
        }
        System.out.println("主對角線乘機爲:"+temp1);
        System.out.println("副對角線乘機爲:"+temp2);
發佈了32 篇原創文章 · 獲贊 0 · 訪問量 7463
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章