我在使用随机数生成器时遇到了麻烦,或者无法完全理解这个概念。我想生成从0到x的20个随机数。
Random ranNum= new Random();
int n = ranNum.nextInt(x) + 0;
我会这样做吗?
答案 0 :(得分:0)
运行此代码:
int x=100,n=0;
Random ranNum= new Random();
for(int i=0;i<20;i++)
{
n = ranNum.nextInt(x);
System.out.println(n);
}
X是随机数的范围。这个程序生成0到100之间的随机数。如果你想指定一个最小值,你可以在循环中尝试这一行:
n = ranNum.nextInt(x-min)+min;
答案 1 :(得分:0)
我喜欢Math.random(),它返回一个带有正号的double值,大于或等于0.0且小于1.0。
public int getNumber(int max) {
return (int) (Math.random() * max); //returns an int between 0 and max
}
public void main() {
for(int i = 0; i < 20; i++) {
System.out.println(getNumber(100));
}
}
在0到100之间打印20个数字,有关Math.random()https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html
的更多信息答案 2 :(得分:0)
通过这个你可以创建20个随机数。我仍然不明白你想要随机数字中是否有重复。好吧,试试这个:
static Random r = new Random();
private static final int number = 5;
public static void main(String[] args) {
for(int i =0; i<20;i++){
System.out.println(r.nextInt(number));
}
}
答案 3 :(得分:0)
取决于您需要的数字。
要打印它们,您会:
Random randNum = new Random();
for(int x = 0; x < 20; x++){
System.out.println(randNum.nextInt(20));
}
放入ArrayList并打印出来:
ArrayList<Integer> list = new ArrayList<Integer>();
Random randNum = new Random();
for(int x = 0; x < 20; x++){
list.add(randNum.nextInt(x)); //must set x to set maximum number it can be
}
for(int a : list)
System.out.println(a);
答案 4 :(得分:0)
以下内容将创建0到ArrayList
之间的x
值,假设x
之前已被定义为正int
。
ArrayList<Integer> randNums = new ArrayList<Integer>();
Random r = new Random();
for(int i = 0; i < 20; ++i) {
randNums.add(r.nextInt(x + 1));
}
然后,您可以通过迭代ArrayList
来使用您想要的值(打印或后续计算)。
答案 5 :(得分:0)
for (int i = 0; i < 20; i++) {
double r = Math.random();
int[] RandomNumbers= new int[20];
RandomNumbers[i] = (int) (101. * r);
System.out.println(RandomNumbers[i]);
}