如何在Java中生成正数和负数[重复]
Posted
技术标签:
【中文标题】如何在Java中生成正数和负数[重复]【英文标题】:how to generate positive and negative numbers in Java [duplicate] 【发布时间】:2012-10-10 00:22:14 【问题描述】:可能重复:How to generate random positive and negative numbers in 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 之间的值,但是我怎样才能完成这样的事情呢?
【问题讨论】:
【参考方案1】:你可以使用:
Random generator = new Random();
int val = 100 - generator.nextInt(201);
或者,正如 JoachimSauer 在 cmets 中建议的那样:
int val = generator.nextInt(201) - 100;
【讨论】:
我个人会使用generator.nextInt(200) - 100
,但这只是个人喜好问题。
啊,非常感谢这是诀窍 :) 不知道我可以这样减去它!
@JoachimSauer:当然。我认为这样更好。将更新答案。谢谢!
@PabloSantaCruz 顺便说一句,您最好在答案中的某处指出生成器的类型(即随机)。我注意到它既没有写在问题中也没有写在答案中=)【参考方案2】:
一般公式是
int val = rand.nextInt(max - min + 1) + min;
请注意,min
和 max
可以为负数。 (最大值 > 最小值)
【讨论】:
以上是关于如何在Java中生成正数和负数[重复]的主要内容,如果未能解决你的问题,请参考以下文章