我代码需要改进吗?
来源: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));
}
}祝学习愉快!
相似问题