我这么写是不是很复杂?
来源: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回答
同学你好,同学的代码完成的不错,很棒!同学代码还可以优化:
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);
}如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
相似问题