如何返回5个随机“强力球”数字在Java中 [英] How to return 5 random "Powerball" numbers in Java

查看:121
本文介绍了如何返回5个随机“强力球”数字在Java中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试在Java中返回1到42之间的5个随机数。

我现在有逻辑返回一个单一的数字(把它放入一个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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆