相关疑难解决方法(0)

如何在Java中生成特定范围内的随机整数?

如何int在特定范围内生成随机值?

我试过以下,但那些不起作用:

尝试1:

randomNum = minimum + (int)(Math.random() * maximum);
// Bug: `randomNum` can be bigger than `maximum`.
Run Code Online (Sandbox Code Playgroud)

尝试2:

Random rn = new Random();
int n = maximum - minimum + 1;
int i = rn.nextInt() % n;
randomNum =  minimum + i;
// Bug: `randomNum` can be smaller than `minimum`.
Run Code Online (Sandbox Code Playgroud)

java random integer

3373
推荐指数
45
解决办法
391万
查看次数

在Java中生成唯一的随机数

我试图获得0到100之间的随机数.但是我希望它们是唯一的,而不是在序列中重复.例如,如果我得到5个数字,它们应该是82,12,53,64,32而不是82,12,53,12,32我使用它,但它在序列中生成相同的数字.

Random rand = new Random();
selected = rand.nextInt(100);
Run Code Online (Sandbox Code Playgroud)

java random

73
推荐指数
7
解决办法
18万
查看次数

生成除特定值之外的随机数

我想生成随机数,但不希望它们来自exclude数组.这是我的代码.

public int generateRandom(int start, int end, ArrayList<Integer> exclude) {
    Random rand = new Random();
    int range = end - start +1 - exclude.size();
    int random = rand.nextInt(range) + 1;

    for(int i = 0; i < exclude.size(); i++) {
        if(exclude.get(i) > random) {
            return random;
        }
      random++;
    }

    return random;
}
Run Code Online (Sandbox Code Playgroud)

我在while循环中使用此函数,并在每次迭代期间添加一个新值exclude.有时会返回属于的数字exclude.有什么问题?

java random arraylist

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×3

random ×3

arraylist ×1

integer ×1