gpt4 book ai didi

java - 生成多个范围之间的随机数

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:02:34 28 4
gpt4 key购买 nike

我了解如何生成介于两个数字之间的随机数:

1 + (int)(Math.random() * ((10 - 1) + 1))

min + (int)(Math.random() * ((max - min) + 1))

但是我该如何生成一个落入多个范围内的随机数呢?

例如:数字可以在1到10之间,也可以在50到60之间

最佳答案

我会选择这样的东西,让您可以根据需要使用任意多的范围:

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

class RandomInRanges
{
private final List<Integer> range = new ArrayList<>();

RandomInRanges(int min, int max)
{
this.addRange(min, max);
}

final void addRange(int min, int max)
{
for(int i = min; i <= max; i++)
{
this.range.add(i);
}
}

int getRandom()
{
return this.range.get(new Random().nextInt(this.range.size()));
}

public static void main(String[] args)
{
RandomInRanges rir = new RandomInRanges(1, 10);
rir.addRange(50, 60);
System.out.println(rir.getRandom());
}
}

关于java - 生成多个范围之间的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15591173/

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