今天练习的时候遇到一个题目,题目需求是这样的:
需求说明:
根据3个班各5名学生某门课程的成绩,正确使用二维数组计算如图所示3个班各自的总成绩
分析:
要实现这个功能需要存储两个信息:
- 一个是班级信息,一个是学生成绩信息,对于入门选手,首先肯定会想到用二维数组,二维数组的实质其实就是一个一维数组,只不过数组里面存的是其他数组的首地址,通过引用指向其他数组。
- 需要注意的是,学生成绩需要用户手动输入,这需要使用到Java的Scanner类,通过该类的对象调用nextInt()(接收整型数据),next()(接收字符串类型),具体用法如下:
import java.util.Scanner;//导入类Scanner sc=new Scanner(System.in);//实例化Scanner对象int studentScore=sc.nextInt();//接收用户输入的Int型数据
只需要用到两个for循环进行嵌套,用户依次输入数据存入数组;
下面是具体的代码:
import java.util.Scanner;
public class Test08 {public static void main(String[] args) {int[][] scores=new int[3][5];Scanner sc=new Scanner(System.in);int sum=0;for (int i = 0; i <scores.length ; i++) {System.out.println("********第"+(i+1)+"个班********");for(int j=0;j<scores[i].length;j++){System.out.print("请输入第"+(j+1)+"个同学的成绩:");int studentScore=sc.nextInt();scores[i][j]=studentScore;}}System.out.println("********成绩统计********");for (int i = 0; i <scores.length ; i++) {for(int j=0;j<scores[i].length;j++){sum+=scores[i][j];}System.out.print((i+1)+"班总成绩:"+sum);System.out.println();sum=0;}}
}
下面是运行结果截图:
********第1个班********
请输入第1个同学的成绩:50
请输入第2个同学的成绩:60
请输入第3个同学的成绩:70
请输入第4个同学的成绩:80
请输入第5个同学的成绩:90
********第2个班********
请输入第1个同学的成绩:10
请输入第2个同学的成绩:20
请输入第3个同学的成绩:30
请输入第4个同学的成绩:40
请输入第5个同学的成绩:50
********第3个班********
请输入第1个同学的成绩:20
请输入第2个同学的成绩:30
请输入第3个同学的成绩:40
请输入第4个同学的成绩:50
请输入第5个同学的成绩:60
********成绩统计********
1班总成绩:350
2班总成绩:150
3班总成绩:200
Process finished with exit code 0
本人小白一个,尚在努力学习中,想交流学习心得、看更多每日学习小文章,可关注我的微信公众号【Java菜鸟的进阶之路】一起交流成长!
文章链接:
Java中关于二维数组的理解与使用mp.weixin.qq.com