1-8编程 请问一下,我的代码还有什么可以优化的地方么

1-8编程 请问一下,我的代码还有什么可以优化的地方么

int[][] intArray=new int[3][2];

        String[] str= {"语文","数学"};

        int yuSum=0,shuSum=0;

        sc = new Scanner(System.in);

        for(int i=0;i<intArray.length;i++){

          for(int j=0;j<intArray[i].length;j++){

         System.out.println("请输入第"+(i+1)+"个学生的"+str[j%2]+"成绩");

             intArray[i][j]=sc.nextInt();

             yuSum+=intArray[i][0];

             shuSum+=intArray[i][1];

          }

        }

        System.out.println("语文的总成绩为:"+yuSum);

        System.out.println("语文的平均分为:"+yuSum/intArray.length);

        System.out.println("数学的总成绩为:"+shuSum);

        System.out.println("数学的总成绩为:"+shuSum/intArray.length);

http://img1.sycdn.imooc.com//climg/5b9f26430001d61010440378.jpg

正在回答

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

1回答

内层循环只有0或1 的可能,建议你使用if条件语句代替内存循环,可以提高代码的运行效率。

  • tang475 提问者 #1
    如果内层不止是 0或1的可能,比如输入三科,语文 数学 英语的成绩,这样的代码是不是更加通用啊
    2018-09-17 15:58:14
  • irista23 回复 提问者 tang475 #2
    如果是考虑实际业务需求今后有变更的情况,你的代码可维护性更高。如果只考虑当前题目需求,两层循环不如一层循环运行效率高。
    2018-09-17 17:08:20
  • tang475 提问者 回复 irista23 #3
    好的 明白了 十分感谢
    2018-09-17 18:36:02
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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