输入完第3个学生的数学成绩后怎么又变成输入第1个学生成绩了??死循环??
public class ScoreDemo {
public static void main(String[] args){
int intArry[][];
intArry= new int[3][2];
Scanner sc=new Scanner(System.in);
//System.out.println(intArry.length);
int ywsum=0,ywaver,sxsum=0,sxaver;
for(int i=0;i<intArry.length;i++){
for(int j=0;j<intArry.length;j++){
System.out.println("请输入第"+(j+1)+"个学生的语文成绩:");
intArry[i][0]=sc.nextInt();
ywsum=ywsum+intArry[i][0];
//System.out.println(ywsum);
System.out.println("请输入第"+(j+1)+"个学生的数学成绩:");
intArry[i][1]=sc.nextInt();
sxsum=sxsum+intArry[i][1];
}
}
ywaver=ywsum/3;
sxaver=sxsum/3;
System.out.println("语文总成绩为:"+ywsum);
System.out.println("语文平均成绩为:"+ywaver);
System.out.println("数学总成绩为:"+sxsum);
System.out.println("数学平均成绩为:"+sxaver);
}
}
正在回答
刚刚给你改进了下代码,主要是,没有定义循环的结束的条件,还有,你那个for中J,代表啥?跟第一个for一样的吗?应该改进,还有,最后求平均值,你放错位置了,你那样每输出2个值,就给你求出一次平均值,是不是看着很烦?往下挪一格,你看看代码吧。
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 48 | public static void main(String[] args) { int intArry[][]; intArry= new int [ 3 ][ 2 ]; Scanner sc= new Scanner(System.in); //System.out.println(intArry.length); int ywsum= 0 ,ywaver,sxsum= 0 ,sxaver; for ( int i= 0 ;i<intArry.length;i++){ for ( int j= 0 ;j<intArry[i].length;j++){ if (j== 0 ) { System.out.println( "请输入第" +(i+ 1 )+ "个学生的语文成绩:" ); intArry[i][ 0 ]=sc.nextInt(); ywsum=ywsum+intArry[i][ 0 ];} //System.out.println(ywsum); else { System.out.println( "请输入第" +(i+ 1 )+ "个学生的数学成绩:" ); intArry[i][ 1 ]=sc.nextInt(); sxsum=sxsum+intArry[i][ 1 ]; } } } ywaver=ywsum/ 3 ; sxaver=sxsum/ 3 ; System.out.println( "语文总成绩为:" +ywsum); System.out.println( "语文平均成绩为:" +ywaver); System.out.println( "数学总成绩为:" +sxsum); System.out.println( "数学平均成绩为:" +sxaver); } } |
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧