如何在范围内生成随机整数

时间:2012-10-24 23:21:20

标签: java

  

可能重复:
  Generating random number in a range with 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 个答案:

答案 0 :(得分:6)

你可以做到

pepe = rng.nextInt(3) - 1;

rng.nextInt(3)会在集合 {0, 1, 2} 中返回一个随机元素 - 因此减去1会返回集合 {-1, 0, 1}中的随机元素,视情况而定。


相关文件:

答案 1 :(得分:4)

试试这句话:int pepe = rng.nextInt(3) - 1;

答案 2 :(得分:4)

使用

pepe = rng.nextInt(3) - 1;

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

rng.nextInt(3)

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

答案 3 :(得分:3)

pepe = rng.nextInt(3) - 1;

随机数将为0,1或2.然后减去1会给你-1,0或1就像你想要的那样