请问代码有什么需要优化吗?

来源:1-8 编程练习

慕少6083615

2022-01-19 10:15:20

import java.util.Scanner;
public class ScoreDemo{
   public static void main(String[] args){
       //定义一个三行两列的整型二维数组intArray
        int[][] 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;j++){
            	if(j%2==0) {
            		 System.out.println("请输入第"+(i+1)+"个学生的语文成绩:");
                     intArray[i][j]=sc.nextInt();
            	}else {
            		System.out.println("请输出第"+(i+1)+"个学生的数学成绩:");
                    intArray[i][j]=sc.nextInt();
            	}         
            }
        }

       //求语文的总成绩和平均分
         int sumChinese=0;
        for(int i=0;i<intArray.length;i++) {
        	sumChinese+=intArray[i][0];
        }
        int averageChinese=sumChinese/intArray.length;
        System.out.println("语文的总成绩为:"+sumChinese);
        System.out.println("语文的平均分为:"+averageChinese);


       //求数学的总成绩和平均分
         int sumMath=0;
        for(int i=0;i<intArray.length;i++) {
        	sumMath+=intArray[i][1];
        }
        int averageMath=sumMath/intArray.length;
        System.out.println("数学的总成绩为:"+sumMath);
        System.out.println("数学的平均分为:"+averageMath);

   }
}


写回答

1回答

好帮手慕小蓝

2022-01-19

同学你好~

1.可以在对数组进行赋值的时候直接对成绩的总和进行计算,而不必单独再循环遍历数组。

2.存储平均成绩的变量应当声明为浮点数并且在计算除法时,将任意一变量强制转换为浮点数,这样可以避免出现小数时的数据不精确问题。

修改之后的代码如下图所示:

祝学习愉快~

https://img.mukewang.com/climg/61e776fb0986d96709350837.jpg

0

0 学习 · 9886 问题

查看课程