我这么写是不是很复杂?

来源:1-8 编程练习

别了娜塔莎

2020-09-04 18:13:27

import java.util.Scanner;


public class InPut {


public static void main(String[] args) {

//定义数组,输入学生成绩

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

      Scanner s=new Scanner(System.in);

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

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

      if(j==0)

      System.out.println("请输入第"+(i+1)+"个学生的语文成绩");

      if(j==1)

      System.out.println("请输入第"+(i+1)+"个学生的数学成绩");

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

      }

      }

      //求语文的总分和平均分

      int sum1=0;

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

      sum1+=intArray[i][0];

      }

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

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

      //求数学的总分和平均分

      int sum2=0;

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

      sum2+=intArray[i][1];

      }

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

      System.out.println("数学的平均分为:"+sum2/intArray.length);

}

}


写回答

1回答

好帮手慕小脸

2020-09-04

同学你好,同学的代码完成的不错,很棒!同学代码还可以优化:

1、这里可以只定义一层循环,从键盘接收数据,为每位学生的语文成绩赋值可直接写在循环中。修改后代码如下:

public static void main(String[] args) {

		// 定义数组,输入学生成绩

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

		Scanner s = new Scanner(System.in);
		int sum1 = 0;
		int sum2 = 0;

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

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

			System.out.println("请输入第" + (i + 1) + "个学生的语文成绩");
			intArray[i][0] = s.nextInt();
			sum1 += intArray[i][0];

			System.out.println("请输入第" + (i + 1) + "个学生的数学成绩");

			intArray[i][1] = s.nextInt();
			sum2 += intArray[i][1];

			/* } */

		}

		// 求语文的总分和平均分

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

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

		// 求数学的总分和平均分

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

		System.out.println("数学的平均分为:" + sum2 / intArray.length);

	}

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

1

0 学习 · 16556 问题

查看课程