关于输入数据的问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | package com.primary.DEMO2; import java.util.ArrayList; import java.util.Scanner; public class ScoreDemo{ public static void main(String[] args){ //定义一个三行两列的整型二维数组intArray int intArray[][]= new int [ 3 ][ 2 ]; int y= 0 ; int s= 0 ; int ave1= 0 ; int ave2= 0 ; //从键盘输入学生成绩,要求输入顺序与效果图一致 Scanner sc= new Scanner(System.in); for ( int i = 0 ; i < intArray.length; i++) { for ( int j = 0 ; j < intArray[i].length; j++) { if (j% 2 == 0 ){ System.out.println( "请输入第" +(i+ 1 )+ "个学生的语文成绩" ); int a=sc.nextInt(); intArray[i][j]=a; y+=a; } else { System.out.println( "请输入第" +(i+ 1 )+ "个学生的数学成绩" ); int b=sc.nextInt(); intArray[i][j]=b; s+=b; } } } //求语文的总成绩和平均分 System.out.println( "语文的总成绩为:" +y); ave1=( int )y/ intArray.length; System.out.println( "语文的平均分为:" +ave1); //求数学的总成绩和平均分 System.out.println( "数学的总成绩为:" +s); ave2=( int )s/ intArray.length; System.out.println( "数学的平均分为:" +ave2); } } |
老师这里我看同学都要加if判断,我试了不加的情况,这里显示每一个同学的成绩都输入了四遍,一共输入了12个数。但我定义的数组只有三行两列,为什么这里没有越界报错呢
6
收起
正在回答
1回答
同学你好,由于不清楚同学描述的“不加if”的代码,无法进行测试,所以无法给出明确的错误分析。建议同学将出现问题的代码提供一下。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧