Java写一个输出最接近平均数的正整数的方法
时间: 2024-09-13 15:12:57 浏览: 43
在Java中,你可以编写一个方法来寻找一组数字中最接近平均值的正整数。这里是一个简单的示例:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(5);
numbers.add(3);
numbers.add(9);
int targetAverage = calculateAverage(numbers);
int closestPositiveInteger = findClosestToAverage(numbers, targetAverage);
System.out.println("The closest positive integer to the average is: " + closestPositiveInteger);
}
// 计算列表中所有元素的平均值
public static double calculateAverage(List<Integer> list) {
double sum = 0;
for (int num : list) {
sum += num;
}
return sum / list.size();
}
// 寻找最接近平均数的正整数
public static int findClosestToAverage(List<Integer> list, double average) {
int closest = 0; // 初始化为第一个元素
double minDistance = Math.abs(list.get(0) - average);
for (int i = 1; i < list.size(); i++) {
if (list.get(i) > 0 && list.get(i).equals((int) average)) {
return list.get(i); // 如果找到等于平均数的正整数直接返回
} else if (Math.abs(list.get(i) - average) < minDistance && list.get(i) > 0) {
minDistance = Math.abs(list.get(i) - average);
closest = list.get(i);
}
}
return closest;
}
}
```
这个程序首先计算列表的平均值,然后遍历列表,找出最接近这个平均值的正整数。如果存在两个或以上相等的正整数都与平均值距离一样近,它会选择列表中较小的那个作为结果。
阅读全文