输入完第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个值,就给你求出一次平均值,是不是看着很烦?往下挪一格,你看看代码吧。
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积分~
来为老师/同学的回答评分吧
0 星