java 求平均数:让用户输入一系列的非负整数,计算它们的平均数,然后输出平均数和输出所有大于平均数的数。
时间: 2024-11-10 20:13:52 浏览: 19
在Java中,你可以通过以下步骤来实现这个功能:
1. 首先,创建一个循环让用户输入一系列的非负整数,直到他们选择停止输入为止。可以使用`Scanner`类获取用户的输入。
```java
import java.util.Scanner;
public class AverageCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
int count = 0;
System.out.println("请输入一系列的非负整数(输入-1结束):");
}
}
```
2. 接着,在循环体内累加每个输入的数字,并增加计数器。如果输入的是-1,则跳出循环。
```java
while (true) {
int number = scanner.nextInt();
if (number == -1) break;
sum += number;
count++;
}
```
3. 计算平均数,即总和除以数字的数量。
```java
double average = (double) sum / count;
```
4. 输出平均数。
```java
System.out.printf("平均数是: %.2f\n", average);
```
5. 最后,遍历之前的所有输入,找出并输出那些大于平均数的数。这里需要创建一个新的列表来存储这些数值。
```java
List<Integer> aboveAverage = new ArrayList<>();
for (int i = 0; i < count; i++) {
if (scanner.nextInt() > average) {
aboveAverage.add(scanner.nextInt());
}
}
if (!aboveAverage.isEmpty()) {
System.out.println("大于平均数的数有: " + aboveAverage);
} else {
System.out.println("没有大于平均数的数。");
}
```
记得关闭`Scanner`对象:
```java
scanner.close();
```
现在你已经完成了这个程序的基本框架。运行它,用户就可以输入一系列的非负整数,系统会计算平均数并输出大于平均数的数。如果你想要用户输入完所有数字后再计算,那么可以在`main`函数开始前就初始化`sum`和`count`,并在循环结束后再计算平均数。
阅读全文