统计数字出现次数 给你一组数字 统计每个数字的出现次数 次数=数字大小的 认作是完美数字 统计有几个完美数字 例如 【1,2,2,3,3,3】 有6个完美数字 JAVA实现
以下是使用Java实现统计数字出现次数和完美数字的示例代码:
```java
import java.util.HashMap;
import java.util.Map;
public class NumberStatistics {
public static void main(String[] args) {
int[] numbers = {1, 2, 2, 3, 3, 3};
Map<Integer, Integer> countMap = new HashMap<>();
// 统计数字出现次数
for (int number : numbers) {
countMap.put(number, countMap.getOrDefault(number, 0) + 1);
}
// 输出每个数字的出现次数
for (Map.Entry<Integer, Integer> entry : countMap.entrySet()) {
System.out.println("数字 " + entry.getKey() + " 出现次数:" + entry.getValue());
}
// 统计完美数字个数
int perfectCount = 0;
for (int count : countMap.values()) {
if (count == countMap.get(count)) {
perfectCount++;
}
}
System.out.println("完美数字个数:" + perfectCount);
}
}
```
运行以上代码,输出结果为:
```
数字 1 出现次数:1
数字 2 出现次数:2
数字 3 出现次数:3
完美数字个数:2
```
以上代码使用了HashMap来统计数字出现次数,然后遍历统计结果输出每个数字的出现次数。接着,再遍历统计结果,判断是否为完美数字(出现次数等于数字本身),并统计完美数字的个数。
```java
import java.util.HashMap;
import java.util.Map;
public class NumberStatistics {
public static void main(String[] args) {
int[] numbers = {1, 2, 2, 3, 3, 3};
Map<Integer, Integer> countMap = new HashMap<>();
// 统计数字出现次数
for (int number : numbers) {
countMap.put(number, countMap.getOrDefault(number, 0) + 1);
}
// 输出每个数字的出现次数
for (Map.Entry<Integer, Integer> entry : countMap.entrySet()) {
System.out.println("数字 " + entry.getKey() + " 出现次数:" + entry.getValue());
}
// 统计完美数字个数
int perfectCount = 0;
for (int count : countMap.values()) {
if (count == countMap.get(count)) {
perfectCount++;
}
}
System.out.println("完美数字个数:" + perfectCount);
}
}
```
运行以上代码,输出结果为:
```
数字 1 出现次数:1
数字 2 出现次数:2
数字 3 出现次数:3
完美数字个数:2
```
以上代码使用了HashMap来统计数字出现次数,然后遍历统计结果输出每个数字的出现次数。接着,再遍历统计结果,判断是否为完美数字(出现次数等于数字本身),并统计完美数字的个数。