很乱,这是为什么的
来源:1-8 编程练习
千華2748110
2020-08-28 16:56:53


import java.util.Scanner;
public class ScoreDome {
public static void main(String[] args) {
//输入三行两列的数据
int[][]intArray=intArray=new int[3][2];
//从键盘输入各个学生的成绩
Scanner sc=new Scanner(System.in);
for(int a=0;a<intArray.length;a++) {
for(int b=0;b<2;b++) {
if(b==0) {
System.out.println("请输入第"+(b+1)+"个学生的语文成绩");
intArray[a][b]=sc.nextInt();
}
if(b==1) {
System.out.println("请输入第"+(b+1)+"个学生的数学成绩");
intArray[a][b]=sc.nextInt();
}
int sum=0;
for(int i=0;i<intArray.length;i++) {
sum=intArray[i][0]+sum;
System.out.println("语文成绩的总和"+sum);
System.out.println("语文成绩的平均分"+sum/3);
}
sum=0;
for(int i=0;i<intArray.length;i++) {
sum=intArray[i][1]+sum;
System.out.println("数学成绩的总和"+sum);
System.out.println("数学成绩的平均分"+sum/3);
}
}
}
}
}
2回答
同学你好,测试同学的代码存在如下问题:
1、多写了intArray = ,将其删除

2、总成绩与平均值的打印语句要写在for循环外,避免多次循环输出。且打印语句时无需使用for循环
3、总成绩可直接在if..else语句中直接获取。(这里要定义两个变量便于接收语文成绩和数学成绩)
4、显示输入第几个学生这里应该是a而不是b。
修改后代码如下:
public class ScoreDome {
public static void main(String[] args) {
// 输入三行两列的数据
int[][] intArray = new int[3][2];
// 从键盘输入各个学生的成绩
Scanner sc = new Scanner(System.in);
int sum1 = 0, sum2 = 0;
for (int a = 0; a < intArray.length; a++) {
for (int b = 0; b < 2; b++) {
if (b == 0) {
System.out.println("请输入第" + (a + 1) + "个学生的语文成绩");
intArray[a][b] = sc.nextInt();
sum1 = intArray[a][0] + sum1;
}
if (b == 1) {
System.out.println("请输入第" + (a + 1) + "个学生的数学成绩");
intArray[a][b] = sc.nextInt();
sum2 = intArray[a][1] + sum2;
}
}
}
System.out.println("语文成绩的总和" + sum1);
System.out.println("语文成绩的平均分" + sum1 / 3);
System.out.println("数学成绩的总和" + sum2);
System.out.println("数学成绩的平均分" + sum2 / 3);
}
}如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
千華2748110
提问者
2020-08-28
就很奇怪,输完下面的那个循环码之后就乱了
相似问题