如何在Java中生成正数和负数

Res*_*had 6 java random math

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

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

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

 Random generator = new Random();

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

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

Pab*_*ruz 16

您可以使用:

Random generator = new Random();
int val = 100 - generator.nextInt(201);
Run Code Online (Sandbox Code Playgroud)

或者,正如JoachimSauer在评论中所说:

int val = generator.nextInt(201) - 100;
Run Code Online (Sandbox Code Playgroud)

  • 就个人而言,我会使用`generator.nextInt(200) - 100`,但这只是一个品味问题. (2认同)

Pet*_*rey 10

通用公式是

int val = rand.nextInt(max - min + 1) + min;
Run Code Online (Sandbox Code Playgroud)

请注意,min并且max可以是否定的.(最大>分钟)