我想在Java中获得1到50之间的随机值。
我如何在Math.random();的帮助下做到这一点?
Math.random();
我如何绑定的值,Math.random()返回?
Math.random()
int max = 50; int min = 1;
double random = Math.random() * 49 + 1; or int random = (int )(Math.random() * 50 + 1);
为什么? random()方法返回一个随机对象 介于0.0和0.9之间的数字…,你 乘以50,这是上限 变成0.0到49.999…当你加1时,它变成1.0到50.999…,现在当你截断int,你得到1到50。(感谢评论中的@rup)。leepoint的这两种方法都很棒
为什么?
random()方法返回一个随机对象 介于0.0和0.9之间的数字…,你 乘以50,这是上限 变成0.0到49.999…当你加1时,它变成1.0到50.999…,现在当你截断int,你得到1到50。(感谢评论中的@rup)。leepoint的这两种方法都很棒
Random rand = new Random(); int value = rand.nextInt(50);
这将给出从0到49的值。
1 ~ 50: rand.nextInt((max - min) + 1) + min;
rand.nextInt((max - min) + 1) + min;
源的一些Java随机的awesome。
第一个解决方案是使用java.util.Random类:
java.util.Random
import java.util.Random; Random rand = new Random(); // Obtain a number between [0 - 49]. int n = rand.nextInt(50); // Add 1 to the result to get a number from the required range // (i.e., [1 - 50]). n += 1;
另一个解决方案是使用Math.random():
double random = Math.random() * 49 + 1;
或
int random = (int)(Math.random() * 50 + 1);