请老师帮忙检查一下代码,谢谢。
来源:1-8 编程练习
嫣语四然
2021-06-20 19:58:36
请老师帮忙检查一下代码,谢谢。
import java.util.Scanner;
public class ShuZu6 {
public static void main(String[] args) {
//定义一个三行两列的整型二维数组intArray
int[][] intArray=new int[3][2];
//从键盘输入学生成绩,要求输入顺序与效果图一致
Scanner sc=new Scanner(System.in);
for(int xue=0;xue<intArray.length;xue++) {
for(int ch=0;ch<intArray[ch].length;ch++) {
if((ch+1)%2==0) {
System.out.println("请输入第"+(xue+1)+"个学生的数学成绩:");
int i=sc.nextInt();
intArray[xue][ch]=i;}
else {System.out.println("请输入第"+(xue+1)+"个学生的语文成绩:");
int i=sc.nextInt();
intArray[xue][ch]=i;}
}
}
//求语文的总成绩和平均分
int sum=0;
for(int xue=0;xue<intArray.length;xue++) {
for(int ch=0;ch<intArray[ch].length;ch++) {
if((ch+1)%2!=0)
sum+=intArray[xue][ch];
}
}
System.out.println("语文的总成绩为:"+sum);
System.out.println("语文的平均分为:"+(sum/3));
//求数学的总成绩和平均分
int sum1=0;
for(int xue=0;xue<intArray.length;xue++) {
for(int ch=0;ch<intArray[ch].length;ch++) {
if((ch+1)%2==0)
sum1+=intArray[xue][ch];
}
}
System.out.println("数学的总成绩为:"+sum1);
System.out.println("数学的平均分为:"+(sum1/3));
}
}
1回答
同学你好,同学的代码完成的不错,不过还可以改进一下,可以使用一个循环来完成,在接收从键盘输入的成绩的同时完成求和,计算总成绩。如下所示:

import java.util.Scanner;
public class ShuZu6 {
public static void main(String[] args) {
//定义一个三行两列的整型二维数组intArray
int[][] intArray = new int[3][2];
int sum = 0;
int sum1 = 0;
// 从键盘输入学生成绩,要求输入顺序与效果图一致
Scanner sc = new Scanner(System.in);
for (int xue = 0; xue < intArray.length; xue++) {
System.out.println("请输入第" + (xue + 1) + "个学生的数学成绩:");
int i = sc.nextInt();
intArray[xue][0] = i;
sum += intArray[xue][0];
System.out.println("请输入第" + (xue + 1) + "个学生的语文成绩:");
i = sc.nextInt();
intArray[xue][1] = i;
sum1 += intArray[xue][1];
}
// 求语文的总成绩和平均分
System.out.println("语文的总成绩为:" + sum);
// 通过数字长度计算平均分
System.out.println("语文的平均分为:" + (sum / intArray.length));
//求数学的总成绩和平均分
System.out.println("数学的总成绩为:" + sum1);
System.out.println("数学的平均分为:" + (sum1 / intArray.length));
}
}
祝学习愉快!
相似问题