用Java语言初始化一个数组,并统计数组中有多少个不同的数字
时间: 2024-03-14 16:46:05 浏览: 41
好的,下面是Java代码实现:
```java
public class Main {
public static void main(String[] args) {
// 初始化数组
int[] arr = {1, 2, 3, 4, 5, 1, 2, 3, 6, 7, 8, 9, 9, 8, 7, 6, 0};
// 使用Set统计不同的数字
Set<Integer> set = new HashSet<>();
for (int i : arr) {
set.add(i);
}
// 输出不同数字的个数
System.out.println("不同数字的个数为:" + set.size());
}
}
```
程序输出:
```
不同数字的个数为:10
```
其中,我们使用了 `HashSet` 来统计不同的数字,因为 `HashSet` 中的元素不能重复,所以最终 `set` 中元素的个数就是不同数字的个数。
相关问题
Java输出一个字符数组50个字母中各个字母个数
以下是一个示例代码,可以输出一个字符数组中各个字母出现的次数:
```java
public class CharCount {
public static void main(String[] args) {
char[] chars = new char[50]; // 假设字符数组为50个字母
// 在这里初始化字符数组
// ...
int[] counts = new int[26]; // 26个英文字母
for (char c : chars) {
if (c >= 'a' && c <= 'z') {
counts[c - 'a']++; // 统计小写字母出现的次数
} else if (c >= 'A' && c <= 'Z') {
counts[c - 'A']++; // 统计大写字母出现的次数
}
}
for (int i = 0; i < 26; i++) {
System.out.printf("%c: %d\n", 'a' + i, counts[i]); // 输出字母和出现次数
}
}
}
```
这段代码中,我们首先定义了一个长度为50的字符数组,然后初始化该数组的值。接着,我们定义了一个长度为26的整型数组,用来存储每个字母出现的次数。我们遍历字符数组中的每个字符,如果该字符是小写字母,则将对应计数器加1,如果是大写字母,则同样将对应计数器加1。最后,我们遍历计数器数组,输出每个字母和对应的出现次数。
java统计数组中各个数字出现的次数
首先,创建一个整型数组,并初始化其值。然后,创建一个Map以存储数字和其出现次数的键值对。使用一个for循环遍历数组中的数字,每当遇到一个数字时,将其作为key,查询Map中该key所对应的值并将其加1。如果查询不到该key,说明该数字还没有出现过,则将其加入Map中,同时将其值初始化为1。最后,遍历完整个数组后,输出Map中存储的每个数字和其出现次数即可。具体的代码实现如下:
```java
int[] arr = {1, 2, 3, 2, 1, 4, 5, 4, 1};
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < arr.length; i++) {
int num = arr[i];
if (map.containsKey(num)) {
map.put(num, map.get(num) + 1);
} else {
map.put(num, 1);
}
}
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + "出现了" + entry.getValue() + "次");
}
```
输出结果为:
```
1出现了3次
2出现了2次
3出现了1次
4出现了2次
5出现了1次
```