. 编写程序,读入个数不确定(最多10个)的考试分数(可以以输入负数表示输入的结束),输出输入了几个分数,分数的平均分,以及多少个分数是大于平均分。(不用数组,使用集合完成)Java,用collection
时间: 2024-05-16 15:18:34 浏览: 52
以下是使用集合完成的Java程序:
```java
import java.util.Scanner;
import java.util.ArrayList;
public class ExamScores {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
ArrayList<Integer> scores = new ArrayList<Integer>();
int sum = 0;
int count = 0;
System.out.println("请输入考试分数(以负数结束):");
while (true) {
int score = input.nextInt();
if (score < 0) {
break;
}
scores.add(score);
sum += score;
count++;
}
if (count == 0) {
System.out.println("没有输入任何分数");
} else {
double average = (double) sum / count;
int aboveAverage = 0;
for (int score : scores) {
if (score > average) {
aboveAverage++;
}
}
System.out.println("输入了 " + count + " 个分数");
System.out.printf("平均分是 %.2f\n", average);
System.out.println(aboveAverage + " 个分数大于平均分");
}
}
}
```
该程序使用了 `ArrayList` 类来存储输入的分数,可以动态地添加元素,避免了使用数组时需要预先指定大小的问题。程序通过循环读入分数,当输入负数时跳出循环,最后计算总分、平均分和高于平均分的分数个数并输出。
阅读全文