• java随机数的产生


    两种产生随机数的方法:

    1、通过import java.util.Random来实现

    2、Math.random()

    一、第一种的话就是导入Random之后,先生成一个Random对象r,之后再利用r这个对象生成随机数

    在生成Random对象r的时候你可以向里面放一个随机数种子,当然也可以不放,不放的话默认就是把当前时间当为随机数种子

    下面代码比较一下放置随机数种子和不放随机数种子所产生Random对象r的不同

    import java.util.Random;
    import java.io.*;
    import java.util.Scanner;
    public class smile {
    
        public static void main(String[] args) throws IOException {
            
            Random rr = new Random(1);
            for(int i=1;i<=5;++i)
            {
                int num = rr.nextInt(50);
                System.out.println("随机数为:"+num);
            }    
            Random rrr = new Random(1);
            for(int i=1;i<=5;++i)
            {
                int num = rrr.nextInt(50);
                System.out.println("随机数为:"+num);
            }    
        }
    
    }

    结果为:

    随机数为:35
    随机数为:38
    随机数为:47
    随机数为:13
    随机数为:4


    随机数为:35
    随机数为:38
    随机数为:47
    随机数为:13
    随机数为:4

    你会发现它的随机数其实并不是完全的随机

    import java.util.Random;
    import java.io.*;
    import java.util.Scanner;
    public class smile {
    
        public static void main(String[] args) throws IOException {
            
            Random rr = new Random();
            for(int i=1;i<=5;++i)
            {
                int num = rr.nextInt(50);
                System.out.println("随机数为:"+num);
            }    
            Random rrr = new Random();
            for(int i=1;i<=5;++i)
            {
                int num = rrr.nextInt(50);
                System.out.println("随机数为:"+num);
            }    
        }
    
    }

    结果:

    随机数为:36
    随机数为:22
    随机数为:10
    随机数为:33
    随机数为:15


    随机数为:42
    随机数为:38
    随机数为:49
    随机数为:12
    随机数为:30

    这个相比较而言就是较彻底的随机

    二、第二种方法返回的数值是double类型[0.0,1.0],但是double类型精度很高,可以在一定程度上看作随机数,借助(int)强制转化来转变成随机数

    public static void main(String[] args)
        {
            int max=100,min=1;
            int ran2 = (int) (Math.random()*(max-min)+min);
            System.out.println(ran2);
        }

    其实第一种方法也可以利用取余的方法生成一个范围内的数据

  • 相关阅读:
    mac 个人账户环境变量位置
    版本控制工具Git
    xmind导图用例转换为表格用例
    Mysql清空表(truncate)与删除表中数据(delete)的区别
    log4j日志级别及使用规范
    洛谷 P3807 【模板】卢卡斯定理
    jmeter环境配置与java环境配置
    NOI2020乱搞记
    Re:ゼロから始める文化課生活
    阅读书单
  • 原文地址:https://www.cnblogs.com/kongbursi-2292702937/p/13637152.html
Copyright © 2020-2023  润新知