我代码需要改进吗?

来源:1-8 编程练习

宝慕林4199460

2022-07-08 23:44:37

package com.imooc.array;

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++){
	        	   String subject;
		           if(j==0){
		               subject="语文";
		           }else{
		               subject="数学";
		           }
		           System.out.println("请输入第"+(i+1)+"个学生的"+subject+"成绩为:");
	               intArray[i][j]=sc.nextInt();
	           }
	       }

	       //求语文的总成绩和平均分
	       
	       //定义变量存放成绩
	       int chineseTotal=0;
	       //遍历循环数组的第一列
	       for(int i=0;i<intArray.length;i++){
	           chineseTotal+=intArray[i][0];
	       }
	       System.out.println("语文的总成绩为:"+chineseTotal);
	       System.out.println("语文的平均分为:"+(chineseTotal/3));

	       //求数学的总成绩和平均分
	       int mathToal=0;
	       //遍历循环数组的第二列
	       for(int i=0;i<intArray.length;i++){
	           mathToal+=intArray[i][1];
	       }
	       System.out.println("数学的总成绩为:"+mathToal);
	       System.out.println("数学的平均分为:"+(mathToal/3));

	}

}


搜索

复制

写回答

1回答

好帮手慕小黑

2022-07-09

同学你好,在同学代码中,无需再用for循环遍历求出总成绩,只需在内层循环中输入成绩时,计算总成绩。代码如下:

package com.imooc.module;
 
import java.util.Scanner;
 
public class ScoreDemo {
 
    public static void main(String[] args) {
        //定义一个三行两列的整型二维数组intArray
        int[][] intArray=new int[3][2];
        int chineseTotal=0;
        int mathToal=0;
           //从键盘输入学生成绩,要求输入顺序与效果图一致
           Scanner sc=new Scanner(System.in);
           //外循环控制行数
           for(int i=0;i<intArray.length;i++){
                
               for(int j=0;j<intArray[i].length;j++){
                   String subject;
                   if(j==0){
                       subject="语文";
                   }else{
                       subject="数学";
                   }
                   System.out.println("请输入第"+(i+1)+"个学生的"+subject+"成绩为:");
                   intArray[i][j]=sc.nextInt();
                   if (j==0){
                       //           求语文的总成绩
                       chineseTotal+=intArray[i][0];
                   }else {
                       //求数学的总成绩
                       mathToal+=intArray[i][1];
                   }
               }
           }
           System.out.println("语文的总成绩为:"+chineseTotal);
           System.out.println("语文的平均分为:"+(chineseTotal/3));
           System.out.println("数学的总成绩为:"+mathToal);
           System.out.println("数学的平均分为:"+(mathToal/3));

    }
}

祝学习愉快!

0

0 学习 · 9886 问题

查看课程