用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() * 49 + 1;
or
int random = (int )(Math.random() * 50 + 1);
如果是int或1.0(包括)到50.0(不包括),则会给你1到50的值
为什么?
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 Random awesomeness的来源。
链接地址: http://www.djcxy.com/p/2927.html上一篇: Getting random numbers in Java
下一篇: Generate random number between two numbers in JavaScript