任务描述
本关任务:统计如下图 1 中每个人的成绩总分。
相关知识
在之前的学习中,我们使用一维数组来存储某班级的数学成绩,如果我们还需存储其他科目的成绩(如下图 1 所示),就需要使用到二维数组了。
图1
二维数值数组的创建
二维数组定义:二维数组是指以一维数组作为元素的数组。其中存储数值的二维数组叫做二维数值数组。
二维数组创建语法:
- // m表示二维数组有多少个数组(行),n表示每个一维数组的元素个数(列)数据类型[][] 变量名=new 数据类型[m][n];
二维数值数组创建示例:
- int[][] arr=new int[6][3]; // 创建一个用于存储图1成绩的二维数值数组。
二维数组初始化
数组初始化分为两种:动态初始化和静态初始化。 动态初始化:创建数组时,指定数组长度,但不指定数组存储的具体值。
示例:
- int[][] arr=new int[6][3]; // 创建一个用于存储图1成绩的二维数值数组。
静态初始化:创建数组时,指定数组存储的具体值。 示例:
- int[][] arr={{90,88,87},{89,90,77},{66,78,60}}; // 方式一,注意只能使用{}int[][] arr=new int[][]{{90,88,87},{89,90,77},{66,78,60}}; // 方式二
二维数值数组元素的引用
我们可以使用数组名[x][y]的方式来访问数组,其中数组的索引 x 和 y 都从 0 开始。 示例:
- public static void main(String[] args) {int[][] ints = new int[][]{{2,3},{4,5,6}};System.out.println(ints[0][1]); // ints[0][1] 表示二维数组的第一行第二列}
执行结果: 3
我们可以使用两个 for 循环遍历二维数组的每个值,其中第一个 for 循环遍历行,第二 个 for 循环遍历每一行的各列。
示例如下:
- public static void main(String[] args) {int[][] arr = new int[][]{{2,3},{4,5,6}};for(int x=0;xfor(int y=0;ySystem.out.print(arr[x][y]+" ");}System.out.println();}}
输出结果:
- 2 34 5 6
public class PassWord { public static void main(String[] args) { // 创建二维数组存储所有人的成绩 int[][] arr = new int[][]{{90,88,87},{89,90,77},{66,78,60},{77,90,90},{89,78,67},{78,87,88}}; // 请在 Begin-End 间编写代码 // 第一步:对每个人的各科成绩求和 for (int i = 0;i < arr.length;i ++){//遍历行 int sum = 0; for (int j = 0;j < arr[i].length;j ++){//遍历列 sum += arr[i][j]; } // 第二步:输出每个人的总分数 System.out.println((i + 1) + "号学生的总分:" + sum); } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)