java编程(分析成绩)编写一个程序,读人个数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输人一个负数表示输入的结束。假设最高分为100。
时间: 2024-10-12 09:17:06 浏览: 24
在Java编程中,我们可以创建一个简单的控制台应用程序来分析输入的考试分数并计算高于或低于平均分的人数。以下是代码的一个示例:
```java
import java.util.Scanner;
public class ScoreAnalyzer {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double sum = 0;
int countAboveAverage = 0, countBelowAverage = 0;
System.out.println("请输入考试分数,输入负数结束:");
while (scanner.hasNextDouble()) {
double score = scanner.nextDouble();
if (score >= 0 && score <= 100) { // 检查分数是否在合理范围内
sum += score; // 累加分数
countAboveAverage += score >= calculateAverage(sum, scanner.nextInt()); // 判断是否大于平均分,人数累加
countBelowAverage += score < calculateAverage(sum, scanner.nextInt()); // 判断是否小于平均分,人数累加
} else {
break; // 输入不在范围,结束循环
}
}
double average = sum / scanner.nextInt(); // 使用所有有效分数计算平均分
System.out.println("总共有 " + countAboveAverage + " 个分数大于或等于平均分");
System.out.println("总共有 " + countBelowAverage + " 个分数低于平均分");
System.out.println("平均分是: " + average);
}
private static double calculateAverage(double totalScore, int studentCount) {
return totalScore / studentCount;
}
}
```
在这个程序中,我们首先初始化总分、两个计数器(一个用于记录高于平均分的分数,另一个用于记录低于平均分的分数)。然后通过`Scanner`读取用户输入的分数,如果分数在合理的范围内(0到100),我们就更新总分并根据当前平均分(直到下一次迭代才会更改)来判断分数是高于还是低于平均分。当遇到负数时,我们停止输入并计算最终的平均分。
阅读全文