2

可能重复:
使用 Java 在一个范围内生成随机数

这感觉很傻,但我不确定如何创建一个随机整数,给它一个允许的特定范围。我试图让它生成介于 -1 和 1 之间的随机数。我尝试这样做,但该nextInt部分不允许将两个参数放在括号内。我应该使用不同的东西吗?

import java.util.Random;

public class Testttterrrr {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Random rng = new Random();
        for (int i=0;i < 10; i++)
        {
        int pepe = 0;
        pepe = rng.nextInt(1, 1-2);
        System.out.println(pepe);
        }
    }

}
4

4 回答 4

6

你可以做

pepe = rng.nextInt(3) - 1;

rng.nextInt(3)返回集合中的随机元素{0, 1, 2}- 因此,根据需要减去1返回集合中的随机元素{-1, 0, 1}


相关文件:

于 2012-10-24T23:24:00.473 回答
4

试试这个说法: int pepe = rng.nextInt(3) - 1;

于 2012-10-24T23:23:52.073 回答
4

采用

pepe = rng.nextInt(3) - 1;

返回 -1、0、1 的随机序列。

rng.nextInt(3)

返回区间中的一个随机数[0..2]。减 1 得到区间[-1..1]

于 2012-10-24T23:24:08.867 回答
3
pepe = rng.nextInt(3) - 1;

随机数将是 0、1 或 2。然后减去 1 将得到 -1、0 或 1,就像你想要的那样

于 2012-10-24T23:33:43.523 回答