利用java输入一个班的成绩到一维数组中,求这个班的最高分、平均分,并统计各分数段的人数。其中分数段有:优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、不及格(<60分)。 要求:程序中要有方法的定义和使用。
时间: 2023-05-17 20:07:49 浏览: 979
好的,这是一个很好的编程问题。以下是一个 Java 程序,可以实现你所需要的功能:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] scores = new int[30];
int maxScore = 0;
int sum = 0;
int excellentCount = 0;
int goodCount = 0;
int mediumCount = 0;
int passCount = 0;
int failCount = 0;
for (int i = 0; i < scores.length; i++) {
System.out.print("请输入第" + (i + 1) + "个学生的成绩:");
scores[i] = input.nextInt();
sum += scores[i];
if (scores[i] > maxScore) {
maxScore = scores[i];
}
if (scores[i] >= 90 && scores[i] <= 100) {
excellentCount++;
} else if (scores[i] >= 80 && scores[i] <= 89) {
goodCount++;
} else if (scores[i] >= 70 && scores[i] <= 79) {
mediumCount++;
} else if (scores[i] >= 60 && scores[i] <= 69) {
passCount++;
} else {
failCount++;
}
}
double averageScore = (double) sum / scores.length;
System.out.println("最高分:" + maxScore);
System.out.println("平均分:" + averageScore);
System.out.println("优秀人数:" + excellentCount);
System.out.println("良好人数:" + goodCount);
System.out.println("中等人数:" + mediumCount);
System.out.println("及格人数:" + passCount);
System.out.println("不及格人数:" + failCount);
}
}
```
这个程序首先定义了一个长度为 30 的整型数组 `scores`,用来存储班级中每个学生的成绩。然后,程序通过一个 for 循环,依次读入每个学生的成绩,并计算出最高分、平均分以及各个分数段的人数。最后,程序输出这些统计结果。
注意,这个程序中使用了方法的定义和使用。具体来说,程序中定义了一个 `main` 方法,用来执行程序的主要逻辑。此外,程序还使用了一些内置的方法,比如 `System.out.print` 和 `input.nextInt`,用来输出提示信息和读入用户输入。
阅读全文