如何从4中生成两个随机数?

use*_*882 0 java android

我需要1,2,3和4中的两个随机数,但它们不能相同,我需要两个不同的变量.

所以,像rnd1 = 1;rnd2 = 3;.

我试着生成它们的经典风格:int rnd = new Random().nextInt(3) + 1;.而对于另一个同样的方式,但如何确保它们不匹配?怎么做?

ass*_*ias 8

您可以简单地使用允许的数字填充列表,将其随机播放并获取前两个条目,而不是自己实现随机性和单一性:

List<Integer> list = Arrays.asList(1, 2, 3, 4);
Collections.shuffle(list);
rnd1 = list.get(0);
rnd2 = list.get(1);
Run Code Online (Sandbox Code Playgroud)


Ant*_*n-M 6

Random random = new Random();
int rnd1 = random.nextInt(3) + 1;
int rnd2 = rnd1;
while(rnd2 == rnd1) {
    rnd2 = random.nextInt(3) + 1;
}
Run Code Online (Sandbox Code Playgroud)

  • 你可以重复使用相同的`Random`. (2认同)