老师帮我看看我的代码,感觉实现的方式跟您设计的不一样
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 | import java.util.Scanner; public class ScoreDemo{ public static void main(String[] args){ //定义一个三行两列的整型二维数组intArray int intArray[][] = new int [ 3 ][ 2 ]; Scanner scn = new Scanner(System.in); //从键盘输入学生成绩,要求输入顺序与效果图一致 for ( int i= 0 ;i<intArray.length;i++){ for ( int n= 0 ;n<= 1 ;n++){ String kemu; if (n== 0 ) { kemu = "语文" ; } else { kemu = "数学" ; } System.out.println( "请输入第" +(i+ 1 )+ "个学生的" +kemu+ "成绩:" ); intArray[i][n] = scn.nextInt(); } } int sumyuwen = 0 ; int sumshuxue = 0 ; //求语文的总成绩和平均分 for ( int i= 0 ;i<intArray.length;i++){ for ( int j= 0 ;j<intArray[i].length;j++){ if (j== 0 ) { sumyuwen = sumyuwen + intArray[i][j]; } else { sumshuxue = sumshuxue + intArray[i][j]; } } } //求数学的总成绩和平均分 int pingjunyuwen = sumyuwen / intArray.length; int pingjunshuxue = sumshuxue / intArray.length; System.out.println( "语文的总成绩位:" + sumyuwen); System.out.println( "语文的平均分位:" + pingjunyuwen); System.out.println( "数学的总成绩位:" + sumshuxue); System.out.println( "数学的平均分位:" + pingjunshuxue); } } |
62
收起
正在回答
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 | // 定义一个三行两列的整型二维数组intArray int intArray[][] = new int [ 3 ][ 2 ]; Scanner scn = new Scanner(System.in); int sumyuwen = 0 ; int sumshuxue = 0 ; // 从键盘输入学生成绩,要求输入顺序与效果图一致 for ( int i = 0 ; i < intArray.length; i++) { for ( int n = 0 ; n <= 1 ; n++) { if (n == 0 ) { System.out.println( "请输入第" + (i + 1 ) + "个学生的语文成绩:" ); intArray[i][n] = scn.nextInt(); sumyuwen+=intArray[i][n]; } else { System.out.println( "请输入第" + (i + 1 ) + "个学生的数学成绩:" ); intArray[i][n] = scn.nextInt(); sumshuxue+=intArray[i][n]; } } } // 求数学的总成绩和平均分 int pingjunyuwen = sumyuwen / intArray.length; int pingjunshuxue = sumshuxue / intArray.length; System.out.println( "语文的总成绩位:" + sumyuwen); System.out.println( "语文的平均分位:" + pingjunyuwen); System.out.println( "数学的总成绩位:" + sumshuxue); System.out.println( "数学的平均分位:" + pingjunshuxue); |
如果解决了你的疑惑,请采纳,祝学习愉快~
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧