Java生成随机数

目录

方法一 Random ran=new Random();

方法2 Math.random()

练习

生成随机数

 生成随机字符串

在Java中我们想生成1~100的随机数该怎么操作呢,我们看下代码

方法一 Random ran=new Random();

public class TestDemo {
    public static void main(String[] args) {
        Random ran=new Random();
        int ranNum=ran.nextInt(100);//[0,100)
        System.out.println(ranNum);
    }
}

注意此时生成的随机数是小于100的如何解决呢

int ranNum=ran.nextInt(100)+1;//此时随机数为1~100

如何使生成的随机数唯一呢

Random ran=new Random(1234);//在Random中输入值此时生成随机值就固定了

方法2 Math.random()

public static void main(String[] args) {
        int num=(int)(Math.random());
        System.out.println(num);

看到结果好像生成的有问题这是为什么呢?

其实写法是没什么问题的但是生成的打印出来就是0,是因为Math.random生成随机数范围为[0,0.999999) 返回类型为double类型,知道了原因我们就可以很好的使用了

 int num=(int)(Math.random()*100+1);

此时生成的随机数取值范围为1~100

练习

掌握了随机数的生成我们试着练习一下

生成随机数

public static void main(String[] args) {
        Scanner sca=new Scanner(System.in);
        Random ran=new Random();
        int ranNum=ran.nextInt(100)+1;//[0,100)->[1,101)
        while(true) {
            System.out.println("请输入要猜的数字");
            int num= sca.nextInt();
            if(num<ranNum) {
                System.out.println("猜小了!");
            }else if(num==ranNum) {
                System.out.println("猜对了!");
                break;
            }else {
                System.out.println("猜大了!");
            }
        }
    }

 生成随机字符串

public static void main(String[] args) {
        String ret="";
        for (int i = 0; i < 6; i++) {
            int num=(int)(Math.random()*26+97);
            ret=ret+(char)num;
        }
        System.out.println(ret);
    }

 以上是有关生成随机数的总结,刚开始学习还有很多不懂,有问题的地方还请评论告知,蟹蟹!  

同时我也会不断更新有关Java知识的博客,还请点赞评论,希望认识更多朋友