java统计最大数出现次数,以0结束
时间: 2024-09-15 17:08:30 浏览: 18
在 Java 中,我们可以使用数组或者集合(如 ArrayList 或者 HashMap)来统计一个整数数组中最大数出现的次数,并以0作为结束标志。这里是一个简单的例子:
```java
import java.util.ArrayList;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
int[] numbers = {5, 2, 9, 7, 5, 2, 0}; // 示例数组
int max = Integer.MIN_VALUE; // 初始化最大值
int maxCount = 0; // 初始化最大数出现次数
for (int num : numbers) {
if (num > max) {
max = num;
maxCount = 1; // 如果找到新最大值,重置计数器
} else if (num == max) {
maxCount++; // 若数值等于当前最大值,计数加一
}
}
System.out.println("最大值:" + max);
System.out.println("最大值出现次数:" + maxCount);
// 从这里开始记录0出现的次数
int zeroIndex = -1;
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] == 0 && zeroIndex == -1) {
zeroIndex = i;
} else if (numbers[i] == 0 && zeroIndex != -1) {
maxCount += i - zeroIndex; // 当遇到第二个0时,计算间隔并累加到maxCount
break;
}
}
System.out.println("第一个0的位置:" + (zeroIndex == -1 ? "未找到" : zeroIndex));
System.out.println("0出现的总次数:" + (zeroIndex == -1 ? 0 : maxCount)); // 如果未找到0,则计数仍为最大数出现次数
}
}
```
这个程序首先找出数组中的最大值及其出现次数,然后遍历一次数组查找第一个0出现的位置,并计算0出现的总次数(即与最大值的间隔)。注意,如果数组中没有0,`zeroIndex` 将保持 `-1`,最后的 `0出现的总次数` 就是最大数的出现次数。