6

可能重复:
如何在java中生成随机正数和负数

您好我正在尝试在 Java 中创建一个方法来在 Java 中创建负值和正值。

问题是我不知道如何编程,但我知道逻辑..这就是我认为应该是的

 Random generator = new Random();

 for (int i = 0; i < 21; i++)
 {
       System.out.print(generator.nextInt(100) + 1);
       System.out.println();
 } 

但是使用上面的代码,我只得到正值,我需要 -100 到 100 之间的值,但我怎样才能完成这样的事情呢?

4

2 回答 2

16

您可以使用:

Random generator = new Random();
int val = 100 - generator.nextInt(201);

或者,正如 JoachimSauer 在评论中建议的那样:

int val = generator.nextInt(201) - 100;
于 2012-10-19T11:32:46.670 回答
10

一般公式是

int val = rand.nextInt(max - min + 1) + min;

请注意,minandmax可以是负数。(最大值 > 最小值)

于 2012-10-19T11:38:40.637 回答