我代码需要改进吗?
来源:1-8 编程练习
宝慕林4199460
2022-07-08 23:44:37
package com.imooc.array; import java.util.Scanner; public class ScoreDemo { public static void main(String[] args) { //定义一个三行两列的整型二维数组intArray int[][] intArray=new int[3][2]; //从键盘输入学生成绩,要求输入顺序与效果图一致 Scanner sc=new Scanner(System.in); //外循环控制行数 for(int i=0;i<intArray.length;i++){ for(int j=0;j<intArray[i].length;j++){ String subject; if(j==0){ subject="语文"; }else{ subject="数学"; } System.out.println("请输入第"+(i+1)+"个学生的"+subject+"成绩为:"); intArray[i][j]=sc.nextInt(); } } //求语文的总成绩和平均分 //定义变量存放成绩 int chineseTotal=0; //遍历循环数组的第一列 for(int i=0;i<intArray.length;i++){ chineseTotal+=intArray[i][0]; } System.out.println("语文的总成绩为:"+chineseTotal); System.out.println("语文的平均分为:"+(chineseTotal/3)); //求数学的总成绩和平均分 int mathToal=0; //遍历循环数组的第二列 for(int i=0;i<intArray.length;i++){ mathToal+=intArray[i][1]; } System.out.println("数学的总成绩为:"+mathToal); System.out.println("数学的平均分为:"+(mathToal/3)); } }
搜索
复制
1回答
好帮手慕小黑
2022-07-09
同学你好,在同学代码中,无需再用for循环遍历求出总成绩,只需在内层循环中输入成绩时,计算总成绩。代码如下:
package com.imooc.module; import java.util.Scanner; public class ScoreDemo { public static void main(String[] args) { //定义一个三行两列的整型二维数组intArray int[][] intArray=new int[3][2]; int chineseTotal=0; int mathToal=0; //从键盘输入学生成绩,要求输入顺序与效果图一致 Scanner sc=new Scanner(System.in); //外循环控制行数 for(int i=0;i<intArray.length;i++){ for(int j=0;j<intArray[i].length;j++){ String subject; if(j==0){ subject="语文"; }else{ subject="数学"; } System.out.println("请输入第"+(i+1)+"个学生的"+subject+"成绩为:"); intArray[i][j]=sc.nextInt(); if (j==0){ // 求语文的总成绩 chineseTotal+=intArray[i][0]; }else { //求数学的总成绩 mathToal+=intArray[i][1]; } } } System.out.println("语文的总成绩为:"+chineseTotal); System.out.println("语文的平均分为:"+(chineseTotal/3)); System.out.println("数学的总成绩为:"+mathToal); System.out.println("数学的平均分为:"+(mathToal/3)); } }
祝学习愉快!
相似问题