学习-Java数组之二维数值数组之多科成绩统计

第1关:学习-Java数组之二维数值数组之多科成绩统计

任务描述

本关任务:统计如下图 1 中每个人的成绩总分。

相关知识

在之前的学习中,我们使用一维数组来存储某班级的数学成绩,如果我们还需存储其他科目的成绩(如下图 1 所示),就需要使用到二维数组了。

图1

二维数值数组的创建

二维数组定义:二维数组是指以一维数组作为元素的数组。其中存储数值的二维数组叫做二维数值数组。

二维数组创建语法:

 
  1. // m表示二维数组有多少个数组(行),n表示每个一维数组的元素个数(列)
  2. 数据类型[][] 变量名=new 数据类型[m][n];

二维数值数组创建示例:

 
  1. int[][] arr=new int[6][3]; // 创建一个用于存储图1成绩的二维数值数组。
二维数组初始化

数组初始化分为两种:动态初始化和静态初始化。 动态初始化:创建数组时,指定数组长度,但不指定数组存储的具体值。

示例:

 
  1. int[][] arr=new int[6][3]; // 创建一个用于存储图1成绩的二维数值数组。

静态初始化:创建数组时,指定数组存储的具体值。 示例:

 
  1. int[][] arr={{90,88,87},{89,90,77},{66,78,60}}; // 方式一,注意只能使用{}
  2. int[][] arr=new int[][]{{90,88,87},{89,90,77},{66,78,60}}; // 方式二
二维数值数组元素的引用

我们可以使用数组名[x][y]的方式来访问数组,其中数组的索引 x 和 y 都从 0 开始。 示例:

 
  1. public static void main(String[] args) {
  2. int[][] ints = new int[][]{{2,3},{4,5,6}};
  3. System.out.println(ints[0][1]); // ints[0][1] 表示二维数组的第一行第二列
  4. }

执行结果: 3

我们可以使用两个 for 循环遍历二维数组的每个值,其中第一个 for 循环遍历行,第二 个 for 循环遍历每一行的各列。

示例如下:

 
  1. public static void main(String[] args) {
  2. int[][] arr = new int[][]{{2,3},{4,5,6}};
  3. for(int x=0;x<arr.length;x++){ // 遍历行
  4. for(int y=0;y<arr[x].length;y++){ // 遍历列
  5. System.out.print(arr[x][y]+" ");
  6. }
  7. System.out.println();
  8. }
  9. }

输出结果:

 
  1. 2 3
  2. 4 5 6
编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

注意:图 1 中的是一号学生等中文类型的数字,而本关要求输出时改为阿拉伯数字。

例如:一号学生的成绩。

输出:“1号学生的总分:xx”。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。

可在右侧 “测试结果”区查看具体的测试集详情。


开始你的任务吧,祝你成功!

源代码:

/*

* 任务:统计每人的总分。

* 输出样式:x号学生的总分:y

*

* */

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 间编写代码

        /********** Begin **********/

       // 第一步:对每个人的各科成绩求和

        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);

        }

        /********** End **********/

    }

}

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值