我想在Java中获得1到50之间的随机值。
如何在Math.random()的帮助下做到这一点?
如何绑定Math.random()返回的值?
我想在Java中获得1到50之间的随机值。
如何在Math.random()的帮助下做到这一点?
如何绑定Math.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;
or
int random = (int)(Math.random() * 50 + 1);
其他回答
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到50的值 或1.0(含)到50.0(不含)的情况下double
为什么? Random()方法返回一个随机对象 介于0.0和0.9之间的数字…,你 乘以50,这是上限 变成0.0到49.999…当你加1时,它变成1.0到50.999…,现在当你截断int,你得到1到50。(感谢评论中的@rup)。Leepoint对这两种方法都有很棒的介绍。
2. 在Java中使用随机类。
Random rand = new Random();
int value = rand.nextInt(50);
这将给出从0到49的值。
1到50英镑:兰特。nextInt((max - min) + 1) + min;
Java随机的一些惊人的来源。
第一个解决方案是使用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;
or
int random = (int)(Math.random() * 50 + 1);