gpt4 book ai didi

arrays - Java 查找数字出现的次数

转载 作者:行者123 更新时间:2023-12-03 23:33:16 26 4
gpt4 key购买 nike

我需要编写一个程序来确定一个数字是否多次出现在由 50 个数字组成的数组中。

我有一个生成 50 个随机数的数组,但我似乎无法理解如何编写循环来查看有多少是相同的。

最佳答案

以下代码将计算每个滚动的数字并将计数存储在 numbers 映射中:

Map<Integer, Integer> numbers = new HashMap<Integer, Integer>();
for (int i = 0; i < 50; i++) {
Integer num = die.roll();
Integer count = numbers.get(num);
if (count == null) {
count = Integer.valueOf(0);
}
count = Integer.valueOf(count.intValue() + 1);
numbers.put(num, count);
}

然后您可以检查所有 map 条目并找到那些滚动不止一次的条目。

for (Map.Entry<Integer, Integer> entry : numbers.entrySet()) {
if (entry.getValue().intValue() > 1) {
System.out.println(entry.getKey() + " rolled more than once");
}
}

或者您可以只更改第一个循环中的条件以在那里输出数字:

for (int i = 0; i < 50; i++) {
Integer num = die.roll();
Integer count = numbers.get(num);
if (count != null) {
System.out.println(num + " rolled more than once");
} else {
numbers.put(num, Integer.valueOf(1));
}
}

最后你仍然可以使用数组来查找其中的数字:

for (int i = 0; i < 50; i++) {
nums[i] = die.roll();
for (int j = i - 1; j >= 0; j--) {
if (nums[i] == nums[j]) {
System.out.println(nums[i] + " rolled more than once");
break;
}
}
}

关于arrays - Java 查找数字出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13630144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com