请老师看看我的代码有没有问题

来源: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];就会报下标越界错误。

建议同学在输入成绩的时候统计总成绩。

参考代码如下:

http://img.mukewang.com/climg/600a487d0981454f05340587.jpg

祝学习愉快~

0

0 学习 · 16556 问题

查看课程