请老师看看我的代码有没有问题
来源:1-8 编程练习
半岛王子
2021-01-22 10:57:14
public class ScoreDemo{
public static void main(String[] args){
//定义一个三行两列的整型二维数组intArray
int intArray[][] = new int[3][2];
//从键盘输入学生成绩,要求输入顺序与效果图一致
int i = 0;
int j;
Scanner sc = new Scanner(System.in);
while(i < 3){
j = 0;
System.out.println("请输入第" + (i+1) +"个学生的语文成绩");
intArray[i][j] = sc.nextInt();
j++;
System.out.println("请输入第" + (i+1) +"个学生的数学成绩");
intArray[i][j] = sc.nextInt();
i++;
}
//求语文的总成绩和平均分
int chAvg;
int chSum = 0;
for(int m = 0; m < intArray.length; m++){
chSum += intArray[i][0];
}
chAvg = chSum / intArray.length;
System.out.println("语文的总成绩为:" + chSum);
System.out.println("语文的平均分为:" + chAvg);
//求数学的总成绩和平均分
int maAvg;
int maSum = 0;
for(int m = 0; m < intArray.length; m++){
maSum += intArray[i][0];
}
maAvg = maSum / intArray.length;
System.out.println("语文的总成绩为:" + maSum);
System.out.println("语文的平均分为:" + maAvg);
}
}
1回答
好帮手慕阿慧
2021-01-22
同学你好,同学代码运行报下标越界错误,并且计算的结果错误。在一个while循环执行完后,i的值为3,计算语文成绩时chSum += intArray[i][0];就会报下标越界错误。
建议同学在输入成绩的时候统计总成绩。
参考代码如下:

祝学习愉快~
相似问题