如何在java中生成20到100之间的5个随机数的列表

如何在java中生成20到100之间的5个随机数的列表,java,random,Java,Random,我想生成5个20到100之间的随机数的列表。这是我的代码 public class RandomNumbers { public static void main(String[] args){ for(int i = 0; i < 5; i++){ System.out.println((int)(Math.random() * 10)); } } } 公共类随机数{ 公共静态void main(字符串[]args

我想生成5个20到100之间的随机数的列表。这是我的代码

public class RandomNumbers {
    public static void main(String[] args){
        for(int i = 0; i < 5; i++){
            System.out.println((int)(Math.random() * 10));
        }
    }
}
公共类随机数{
公共静态void main(字符串[]args){
对于(int i=0;i<5;i++){
System.out.println((int)(Math.random()*10));
}
}
}
使用此代码(生成[从
0
80
]+
20
=>[从
20
100
]):

公共类随机数{
公共静态void main(字符串[]args){
对于(int i=0;i<5;i++){
System.out.println((int)((Math.random()*81)+20));
}
}
}
使用此代码(生成[从
0
80
]+
20
>>[从
20
100
]):

公共类随机数{
公共静态void main(字符串[]args){
对于(int i=0;i<5;i++){
System.out.println((int)((Math.random()*81)+20));
}
}
}

将计算设为
Math.random()*81+20
将计算设为
Math.random()*81+20
这将生成5个介于20和100之间的随机数

 public class RandomNumbers {
        public static void main(String[] args){
            for(int i = 0; i < 5; i++){
                System.out.println(20 + (int)(Math.random() * ((100 - 20) + 1)));
            }
        }
    }
公共类随机数{
公共静态void main(字符串[]args){
对于(int i=0;i<5;i++){
System.out.println(20+(int)(Math.random()*((100-20)+1));
}
}
}

这将生成5个介于20和100之间(含20和100)的随机数

 public class RandomNumbers {
        public static void main(String[] args){
            for(int i = 0; i < 5; i++){
                System.out.println(20 + (int)(Math.random() * ((100 - 20) + 1)));
            }
        }
    }
公共类随机数{
公共静态void main(字符串[]args){
对于(int i=0;i<5;i++){
System.out.println(20+(int)(Math.random()*((100-20)+1));
}
}
}
这使用了import java.util.concurrent.ThreadLocalRandom

for(int i=0;i<5;i++){
System.out.println(ThreadLocalRandom.current().nextInt(20100+1));
}
好在这里没有重复的数字,也不需要预先考虑好的数学,这意味着改变max和min的值是非常有效的,并且不容易出错

这使用了import java.util.concurrent.ThreadLocalRandom

for(int i=0;i<5;i++){
System.out.println(ThreadLocalRandom.current().nextin(20,100+1));
}

好在这里没有重复的数字,也不需要预先考虑好的数学,这意味着改变max和min的值是非常有效的,并且不容易出错

Math.random可能重复的可能重复无法返回1,因此无法返回100@AaronDavis我修复了Math.random无法返回1,因此该值永远无法返回100@AaronDavis我修好了
for (int i = 0; i < 5; i++) {
    System.out.println(ThreadLocalRandom.current().nextInt(20, 100 + 1));
}