1-8编程练习

1-8编程练习

     //定义一个三行两列的整型二维数组intArray
    int [][] intArray ;
    intArray = new int[3][2];

       //从键盘输入学生成绩,要求输入顺序与效果图一致
    Scanner sc = new Scanner(System.in);
        for(int i = 0;i < intArray.length;i++) {
            for(int j = 0; j < intArray[i].length-1;j++) {
                System.out.println("请输入第" + (i + 1) +"个学生的语文成绩");
                intArray[i][j] = sc.nextInt();
                System.out.println("请输入第" + (i + 1) +"个学生的数学成绩");
                intArray[i][j+1] = sc.nextInt();
            }
        }
        
    int chineseScore,chineseSum = 0;    
    int mathScore,mathSum = 0;
    for(int i = 0;i < intArray.length;i++) {
            for(int j = 0; j < intArray[i].length-1;j++) {
            chineseSum = intArray[i][j] + chineseSum;    
            mathSum = intArray[i][j + 1] + mathSum;
            }
        }
       //求语文的总成绩和平均分
    chineseScore = chineseSum / intArray.length;
        System.out.println("语文的总成绩为:" + chineseSum);
        System.out.println("语文的平均成绩为:" + chineseScore);

       //求数学的总成绩和平均分
    mathScore = mathSum / intArray.length;
        System.out.println("数学的总成绩为:" + mathSum);
        System.out.println("数学的平均成绩为:" + mathScore);

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿满 2019-01-16 14:15:52

同学的代码完成了题目要求,但是代码还可以优化。这道题目可以使用一个for循环完成,二维数组,intArray[i][0]表示语文成绩,intArray[i][1]表示数学成绩。在接受从键盘输入数字的同时完成统计总成绩,在循环外求得平均成绩。同学可以按照这个思路试试。祝:学习愉快~

  • duyx #1
    package test; import java.util.Scanner; public class test { public static void main(String[] args) { int chineseSum=0; int mathSum=0; int[][] score=new int[3][2]; for(int i=0;i<score.length;i++) { Scanner sc = new Scanner(System.in); System.out.println("请输入第"+(i+1)+"个同学的语文成绩:"); score[i][0] = sc.nextInt(); chineseSum=chineseSum+score[i][0]; System.out.println("请输入第"+(i+1)+"个同学的数学成绩:"); score[i][1]=sc.nextInt(); mathSum=mathSum+score[i][1]; } System.out.println("语文的总成绩为:"+chineseSum); System.out.println("语文的平均分为:"+chineseSum/3); System.out.println("数学的总成绩为:"+mathSum); System.out.println("数学的平均分是:"+mathSum/3); } }
    2019-01-16 17:11:48
  • 提问者 mrfengyun #2
    做的时候也想到了用[0].[1]来分别表示语文数学成绩,后来想再锻炼一下自己for循环的掌握并且想到以后可能会有更多列的实例所以才用了循环嵌套。 关于代码优化是不是在解决问题的基础上代码尽量少结构尽量简单呢
    2019-01-16 17:43:21
  • 好帮手慕阿满 回复 提问者 mrfengyun #3
    同学说的也有道理,在解决问题,理解的更深刻的基础上对代码进行优化设计。祝:学习愉快~
    2019-01-16 18:28:40
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师