Java数组之二维数组练习

三种形式
int[][] intArray;        //二维数组的声明
float floatArray[][];    //声明float类型的二维数组
double[] doubleArray[];    //声明double类型的二维数组
intArray=new int[3][3];    //创建一个三行三列的int类型的数组
System.out.println("intArray数组的第3行第2列的元素为:"+intArray[2][1]);
intArray[1][2]=9;        //为第2行第3个元素赋值为9
char[][] ch=new char[3][5];    //声明数组的同时进行创建
floatArray=new float[3][];    //创建float类型的数组时,只指定行数
//每行相当于一个一维数组,需要创建
floatArray[0]=new float[3];//第一行有三列
floatArray[1]=new float[4];//第二行有四列
floatArray[2]=new float[5];//第三行有五列
System.out.println(floatArray[0][0]);
//System.out.println(floatArray[0][3]); //数组下标越界

//二维数组的初始化
int[][] num={{1,2,3},{4,5,6},{7,8,9}};
System.out.println("num数组的第一行第二列的元素为:"+num[0][1]);
System.out.println("num数组的行数为:"+num.length);
System.out.println("num数组的列数为:"+num[0].length);
int[][] num1={{78,989},{65,75,63},{98}};
System.out.println("num1数组第一行的列数为:"+num1[0].length);

//循环输出二维数组的内容
for(int i=0;i<num1.length;i++){
    for(int j=0;j<num1[i].length;j++){
        System.out.print(num1[i][j]+"    ");
    }
    System.out.println();
}

编程练习
在一个二维数组中存放了三名学生的语文和数学的成绩,从键盘输入三名学生的成绩存储到二维数组中,分别求语文和数学的总成绩及平均分并输出。
运行效果如下:

请输入第1个学生的语文成绩:
78
请输入第1个学生的数学成绩:
98
请输入第2个学生的语文成绩:
95
请输入第2个学生的数学成绩:
100
请输入第3个学生的语文成绩:
75
请输入第3个学生的数学成绩:
80
语文的总成绩为:248
语文的平均分为:82.66666666666667
数学的总成绩为:278
数学的平均分为:92.66666666666667
package imoocProj;

import java.util.Scanner;

public class ScoreDemo {

public static void main(String[] args) {
     int[][] intArray;//定义一个三行两列的整型二维数组intArray
     intArray=new int[3][2];
       
     for(int i=0;i<intArray.length;i++){
         for(int j=0;j<intArray[i].length;j++){
             if(j==0) {
                 System.out.println("请输入第"+(i+1)+"个学生的语文成绩:");
                 Scanner sc=new Scanner(System.in);
                 intArray[i][j]=sc.nextInt();     
             }
             if(j==1) {
                      System.out.println("请输入第"+(i+1)+"个学生的数学成绩:");
                     Scanner in=new Scanner(System.in);
                      intArray[i][j]=in.nextInt();
             }
             
           }
    
       }
     int cSum=0;                //语文总成绩
     double cAvr=0;                //语文平均成绩
     for(int i=0;i<intArray.length;i++) {
         cSum=cSum+intArray[i][0];
         cAvr=1.0*cSum/intArray.length;
     }
     System.out.println("语文的总成绩为:"+cSum);
     System.out.println("语文的平均分为:"+cAvr);
     int mSum=0;                //数学总成绩
     double mAvr=0;                //数学平均成绩
     for(int i=0;i<intArray.length;i++) {
         mSum=mSum+intArray[i][1];
         mAvr=1.0*mSum/intArray.length;
     }
     System.out.println("数学的总成绩为:"+mSum);
     System.out.println("数学的平均分为:"+mAvr);

}

}
最后修改:2019 年 12 月 31 日 11 : 17 PM
如果觉得我的文章对你有用,请随意赞赏