(1)给定一个包含若干整数的一维数组,正整数的取值范围为大于-1且小于10,例如 int[] arr={1,0,3,3,2,1,8}, 或者 int[] arr={5,5,5,5,0,8,2}等。 请输出数组中每个数字出现的次数。
时间: 2024-09-13 09:15:18 浏览: 34
要输出一个整数数组中每个数字出现的次数,可以使用一个HashMap来存储每个数字作为键,以及该数字出现的次数作为值。遍历数组时,检查HashMap中是否已经存在该数字的键,如果存在则增加对应的次数,如果不存在则将该数字添加到HashMap中并将其次数设置为1。以下是实现这一功能的Java代码:
```java
import java.util.HashMap;
import java.util.Map;
public class CountOccurrences {
public static void countOccurrences(int[] arr) {
Map<Integer, Integer> occurrencesMap = new HashMap<>();
// 遍历数组,计算每个数字出现的次数
for (int num : arr) {
if (num >= -1 && num < 10) { // 检查数字是否在指定范围内
occurrencesMap.put(num, occurrencesMap.getOrDefault(num, 0) + 1);
}
}
// 打印每个数字出现的次数
for (Map.Entry<Integer, Integer> entry : occurrencesMap.entrySet()) {
System.out.println("数字 " + entry.getKey() + " 出现了 " + entry.getValue() + " 次。");
}
}
public static void main(String[] args) {
int[] arr1 = {1, 0, 3, 3, 2, 1, 8};
countOccurrences(arr1);
int[] arr2 = {5, 5, 5, 5, 0, 8, 2};
countOccurrences(arr2);
}
}
```
这段代码首先定义了一个`countOccurrences`方法,它接受一个整数数组作为参数,并使用一个HashMap来记录每个数字的出现次数。然后在`main`方法中,我们创建了两个数组并分别调用了`countOccurrences`方法来打印每个数字的出现次数。
阅读全文