获取Java中的随机数字
可能重复:
Java:在一个范围内产生随机数
我想在Java中得到1到50之间的随机值。
我怎么可以在Math.random();
的帮助下做到这一点Math.random();
?
如何限制Math.random()返回的值?
import java.util.Random; Random rand = new Random(); int n = rand.nextInt(50) + 1; //50 is the maximum and the 1 is our minimum
int max = 50; int min = 1;
1.使用Math.random()
double random = Math.random() * 50 + 1; or int random = (int )(Math.random() * 50 + 1);
这会给你从1到50的值使用Math.random()
为什么?
random()方法返回一个介于0.0和0.9之间的随机数…,将它乘以50,所以上限变成0.0到49.999 …当你加1时,它变成1.0到50.999 …,现在当你截断到int,你得到1到50.(感谢@rup在评论)。 leepoint在两种方法上都非常棒。
2.在Java中使用Random类。
Random rand = new Random(); int value = rand.nextInt(50);
这会给出从0到49的值。
对于1到50: rand.nextInt((max - min) + 1) + min;
一些Java随机awesomeness的来源 。