从外界录入0~100的6个整数,求去除最大值和最小值算平均值并输出,Java代码
时间: 2024-10-19 14:04:28 浏览: 24
当然,这里是一个简单的Java程序,用于完成这个任务:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double sum = 0;
int count = 0;
System.out.println("请输入六个0到100之间的整数:");
for (int i = 0; i < 6; i++) {
int number = scanner.nextInt();
if (number >= 0 && number <= 100) { // 检查输入是否在范围内
sum += number;
count++;
} else {
System.out.println("错误!请输入0到100之间的整数。");
i--; // 如果输入错误,重新读取上一个数字
}
}
// 去除最大值和最小值后计算平均值
double max = findMax(sum, count);
double min = findMin(sum, count);
double average = (sum - max - min) / (count - 2); // 注意这里减去2,因为我们要去掉两个极端值
System.out.printf("平均值(去除最大和最小):%.2f", average);
scanner.close();
}
private static double findMax(double totalSum, int totalCount) {
return totalSum / totalCount;
}
private static double findMin(double totalSum, int totalCount) {
double minNumber = totalSum / totalCount;
for (int i = 0; i < totalCount; i++) {
if (totalSum / (totalCount - i) < minNumber) {
minNumber = totalSum / (totalCount - i);
}
}
return minNumber;
}
}
```
这个程序首先使用`Scanner`获取用户输入的6个整数,然后检查每个输入是否在0到100之间。找到最大值和最小值后,我们用剩下的数计算平均值。`findMax`和`findMin`方法分别负责找出总数中的最大值和最小值。
阅读全文