老师这种实现方式还可以吗
来源:1-8 编程练习
慕前端7228914
2020-10-11 12:41:13
package basic02;
import java.util.Scanner;
public class Score {
public static void main(String[] args){
double [][] score = new double[3][2];
double LauguageSroce = 0;//保存语文总分
double MathScore = 0;//保存数学总分
//创建输入流
Scanner scan = new Scanner(System.in);
//循环
for(int i = 0;i < score.length;i++) {
for (int j = 0; j < score[i].length; j++) {
if (j % 2 == 0) {
System.out.println("请输入第" + (i + 1) + "个学生的语文成绩:");
LauguageSroce += scan.nextDouble();
} else if (j % 2 == 1) {
System.out.println("请输入第" + (i + 1) + "个学生的数学成绩:");
MathScore += scan.nextDouble();
}
}
}
System.out.println("语文总成绩为:"+LauguageSroce);
System.out.println("语文平均分为: " + (LauguageSroce/ score.length));
System.out.println("数学总成绩为:"+MathScore);
System.out.println("语文平均分为: " + (MathScore/ score.length));
}
}
1回答
好帮手慕小尤
2020-10-11
同学你好,编程题的实现方式有很多种,测试同学的代码是可以的,不过同学代码还可以优化:
可以只定义一层循环,从键盘接收数据,为每位学生的语文成绩赋值可直接写在循环中。修改后代码如下:

import java.util.Scanner;
public class Score {
public static void main(String[] args){
double [][] score = new double[3][2];
double LauguageSroce = 0;//保存语文总分
double MathScore = 0;//保存数学总分
//创建输入流
Scanner scan = new Scanner(System.in);
//循环
for(int i = 0;i < score.length;i++) {
System.out.println("请输入第" + (i + 1) + "个学生的语文成绩:");
LauguageSroce += scan.nextDouble();
System.out.println("请输入第" + (i + 1) + "个学生的数学成绩:");
MathScore += scan.nextDouble();
}
System.out.println("语文总成绩为:"+LauguageSroce);
System.out.println("语文平均分为: " + (LauguageSroce/ score.length));
System.out.println("数学总成绩为:"+MathScore);
System.out.println("语文平均分为: " + (MathScore/ score.length));
}
}如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
相似问题