如何返回5个随机“强力球”数字在Java中 [英] How to return 5 random "Powerball" numbers in Java
问题描述
我现在有逻辑返回一个单一的数字(把它放入一个ArrayList,但我想取消这个)。我很难实现返回5个随机数字。我需要5个循环吗? (int i = 0; i <10; i ++){
int r =(int)(b)
$ b
Math.random()* 42 + 1);
$ / code>
我在这里看到了一些其他相关的例子,它们看起来比我的需求决定。但是,我可能是错的。你可以使用 Set
来产生 > 5
唯一随机数字。
Random random = new Random );
Set randomNumbers = new HashSet< Integer>(); (randomNumbers.size()<5){
randomNumbers.add(random.nextInt(42)+1);
。
$ b 既然你提到过你正在使用 ArrayList
,它将包含所有的随机数字,你可以将 randomNumbers
中的所有元素添加到你的 ArrayList 。
更新:
你的需要,你需要做这样的事情: - $ / b>
Random random = new Random();
Set< String> set = new HashSet< String>(); (set.ize()<5){
set.add(String.valueOf(random.nextInt(42)+1));
}
fortuneList3.addAll(set);
Trying to return 5 random numbers between 1 and 42 in Java.
I currently have logic to return a single number (putting it into an ArrayList, but I'd like to do away with that.) I'm stumped on implementation to return 5 random numbers. Would I need 5 for loops?
for (int i = 0; i < 10; i++) {
int r = (int) (Math.random() * 42 + 1);
}
I've seen some other related examples here and they seem more complex than what my needs dictate. However, I could be wrong.
解决方案 You can use the Set
to generate 5
Unique Random numbers.
Random random = new Random();
Set randomNumbers = new HashSet<Integer>();
while(randomNumbers.size()< 5) {
randomNumbers.add(random.nextInt(42)+1);
}
Since you've mentioned that you're using an ArrayList
which will hold all the random numbers, you could just add all the elements present in randomNumbers
set to your ArrayList
.
Update:-
To suit your needs, you need to do something like this:-
Random random = new Random();
Set<String> set = new HashSet<String>();
while(set.size()< 5) {
set.add(String.valueOf(random.nextInt(42)+1));
}
fortuneList3.addAll(set);
这篇关于如何返回5个随机“强力球”数字在Java中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!