Java一维二维数组练习题

    xiaoxiao2022-06-30  146

    1.二维数组查看具体某行的值

    public static void main(String[] args) {         double[][] class_score={{100,99,99},{100,98,97},{100,100,99.5},{99.5,99,98.5}};         Scanner scan=new Scanner(System.in);         System.out.println("当前数组只有"+class_score.length+"行,您想查看第几行的元素?请输入:");         int number=scan.nextInt();         for(int j=0;j<class_score[number-1].length;j++)         {             System.out.println(class_score[number-1][j]);         }

        }

     

    2.二维数组某行或某列倍数

     public static void  main (String args []){         int [][] n= {{1,3,2},{1,8,9},{1,10,5},{5,9,5}};         for( int i=0;i<3;i++){             //第二行*2操作 i<3 每行有三个元素              n[1][i]=n[1][i]*2;             //第三列*2操作  i<4 每列有四个元素             //n[i][2] = n[i][2]*2;         }         for (int [] is:n){             for(int i:is){                 System.out.print(i+" ");             }             System.out.println();         }      }

     

    3.二维数组某行或某列求和

    public static void main(String[] args) {

            int sum = 0;         int f[][] = {{1,2,3},{4,5,6},{7,8,9}};         for(int m=1;m<f.length-1;m++){//控制m 和 length的长度  第二行之和             for(int n=0;n<f[m].length;n++){//)                 System.out.print(f[m][n]+" ");                 sum+=f[m][n];             }             System.out.println();         }         System.out.println("sum=" + sum);     }

     

    4.二维数组整体转置

    public static void main (String args []){                  //初始化数组         int [][] n ={ { 1, 3, 5 }, { -3, 6, 0 }, { 13, -5, 7 }, { -2, 19, 25 } };         int [][] m=new int [3][4];         System.out.println("转置前");         int k=0;         for(int[] x:n){             for(int i=0;i<x.length;i++){                 System.out.print(x[i]+" ");//注意不换行                 m[i][k]=n[k][i];             }             k++;             System.out.println("");         }             System.out.println("反转后");         //行列互换 核心代码         for(int [] x:m){             for(int i=0;i<x.length;i++){                 System.out.print(x[i]+" ");             }             k++;             System.out.println("");         }     }

    5.数组的冒泡排序

        public static void main (String args []){         int[] a = { 14, 63, 36, 5, 27, 18 };         // 循环遍历输出         for (int i = 0; i < a.length; i++) {             System.out.print(a[i] + "    ");         }         System.out.println();         // 排序         for (int i = 0; i < a.length - 1; i++) {             for (int j = 0; j < a.length - 1 - i; j++) {                 if (a[j] < a[j + 1]) {                     int t = a[j];                     a[j] = a[j + 1];                     a[j + 1] = t;                 }             }         }         for (int i : a) {             System.out.print(i + "    ");         }

        }

    6.一维数组

    public static void main (String args[]){                      //1.          int []a=new int[]{8,6,4,2,5};          getMin(a);          System.out.println("****************************************");

           //2.          int []b=new int[]{9,1,2,11,19,3};          getMax(b);          System.out.println("****************************************");

           //3.          int []c=new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 0};          getSendMax(c);          System.out.println("****************************************");

          //4.          double[] num=new double[]{99,97,96,95,94,92,91,90,88,100};          Sort(num);          System.out.println("****************************************");

          //5.          int[] num2= new int[]{99,97,96,95,94,92,91,90,88,100};          odd(num2);          System.out.println("****************************************");

          //6.          int[] array=new int[]{1,2,3,4,5,6,7,8};          BackOver(array);          System.out.println("****************************************");              }     //1.定义一个函数,获取某个数组中的最小值         public static void getMin(int [] num){             int min=num[0];             for (int i=0;i<num.length;i++){                 min=(num[i]<min?num[i]:min);             }             System.out.println("最小值"+min);         }         //2.定义一个数组,数组成员10个,找出数组中最大数连同下标一起输出         public static void getMax(int [] num){             int max = num[0];             int index=0;             for (int i = 0; i < num.length;i++){                 if(max<num[i]){                     max=num[i];                     index=i;                 }             }            System.out.println("最大值:"+max+"索引值:"+index);         }     //3.给定一个整型数组,数组成员10个,求该数组中第二大的数的下标                  public static void getSendMax(int []num){         int[] arr1 = Arrays.copyOf(num, num.length);         Arrays.sort(num);         int[] num1 = Arrays.copyOfRange(num, 0, 9);

            for (int i = 0; i < arr1.length-1; i++) {             if (arr1[i] == num1[num1.length-1]) {                 System.out.println("第二大的数的下标为"+i);                 }                      }                  }     //4.定义数组,存放5个学生的成绩【成绩值自己设定】,将成绩从大到小排序,获得成绩之和,平均成绩,最小成绩,最大成绩。         public static void Sort(double[] num) {             Arrays.sort(num);                 double sum=0.0;             for (int e=0;e<num.length;e++) {                 sum=sum+num[e];

                }                 System.out.println("max="+num[num.length-1]);                 System.out.println("min="+num[0]);                 System.out.println("average="+sum/num.length);                 System.out.println("sum="+sum);         }     //5.定义一个长度为10的int数组,统计数组中最大最小值,奇数和偶数的个数             public static void odd(int[] num) {

             Arrays.sort(num);          for(int i = 0; i < num.length; i ++) {              System.out.println(num[i] + " ");            }         int evensum=0;         int oddsun=0;         for(int i=0;i<num.length;i++){             if(num[i]%2==0){                 evensum++;             }else{                 oddsun++;             }         }         System.out.println("最小值:"+num[0]+"最大值:"+num[num.length-1]);         System.out.println("奇数的个数="+oddsun+"偶数的个数="+evensum);      }

        //6.提取一个方法,将指定数组中的数组元素进行反转         public static void BackOver(int[] array){             for(int i=array.length-1;i>=0;i--){                 System.out.println(array[i]+" ");                 }             }


    最新回复(0)