java生成随机数


1.使用java.util包下Random.nextInt(n)

该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。

//生成0-1000的随机数
Random r=new Random();
for(int i=0;i<10;i++){
      System.out.println(r.nextInt(1000));
}

注意当Random带构造参数时,它生成的随机数每次都是一样的

Random r=new Random(10);
for(int i=0;i<10;i++){
      System.out.println(r.nextInt());
}

2.使用Math.random()生成范围随机数

Math.random() 函数返回一个浮点, 伪随机数在范围从0到1,但是不包括1

Math.round(Math.random() * (max - min) + min);
//生成5位随机数
for(int i=0;i<10;i++){
      System.out.println((int) (Math.random() * (99999 - 10000) +10000));
}

3.自定义随机生成字母和数字组合

    /**
     * 产生随机字符串
     */
    private static Random randGen = null;
    /**
     * 数字和字母
     */
    private static char[] numbersAndLetters = null;

    /**
     * 字符串
     */
    public static String randomStr(int length) {
        if (length < 1) {
            return null;
        }
        if (randGen == null) {
            randGen = new Random();
            numbersAndLetters = ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
        }
        char[] randBuffer = new char[length];
        for (int i = 0; i < randBuffer.length; i++) {
            randBuffer[i] = numbersAndLetters[randGen.nextInt(35)];
        }
        return new String(randBuffer);
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容