Java:通过Random获取伪随机数

简介: Java:通过Random获取伪随机数

Random获取随机数

package com.example.demo;
import java.util.Random;
public class RandomDemo {
    public static void main(String[] args) {
        Random random = new Random();
        // 指定边界 [0, bound)
        System.out.println(random.nextInt(10));
        // 8
        // [0, 1)
        System.out.println(Math.random());
        // 0.4743026139690609
    }
}

更多随机数据获取方法

用到的依赖


<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>

示例


package com.demo.random;
import org.apache.commons.lang.RandomStringUtils;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
public class RandomDemo {
    public static void main(String[] args) throws NoSuchAlgorithmException {
        // 1、Random
        Random random = new Random();
        System.out.println(random.nextDouble());
        // 2、Math.random
        System.out.println(Math.random());
        // 3、ThreadLocalRandom
        System.out.println(ThreadLocalRandom.current().nextDouble());
        // 4、SecureRandom
        SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
        System.out.println(secureRandom.nextDouble());
        // 5、RandomStringUtils
        String result = RandomStringUtils.random(64);
        System.out.println(result);
        // 长度为64位的字符串
        result = RandomStringUtils.randomAlphabetic(64);
        System.out.println(result);
        // 32位ascii码
        result = RandomStringUtils.randomAscii(32);
        System.out.println(result);
        // 指定字符数组
        result = RandomStringUtils.random(32, "qw32rfHIJk9iQ8Ud7h0X");
        System.out.println(result);
        /**
         * 0.6842526472648046
         * 0.968969349495142
         * 0.27962124767826213
         * 0.012367070163319283
         * 汕真庣뉔햯殫腍ꡊꁝ㨂Ǒ蒐霫瓯䟤ሠ漧ᎊ򜐍끘෦𧆕惘횕緛暑⫺ꟻ䟻↕㽱륪鶋㛿ᔑ㓇䢙뿍鼗ꦡ첡缹﷪濎릅솣떽裴ﱆ뙠曜蘝せⶏ潻➣▨澜채
         * niSaTPTkUfrdqjcgFbZcyAqdGsnZQKoKSWpUxYSffMDiNBMVBcGfkxGOphVkAhMe
         * :xB__?hx/W,,?7bEdr@~E4GjLh6yxp0U
         * I80QH8Uffwkh8r03ddrrHHUk8w9h0rJw
         */
    }
}

相关文章
|
2月前
|
Java
java的Random类和Arrays.sort类使用实例
java的Random类和Arrays.sort类使用实例
11 0
|
2月前
|
Java
java值random类的使用
java值random类的使用
11 0
|
2月前
|
Java
java的Math类和random类
java的Math类和random类
15 0
|
4月前
|
Java
Java系类 之 生成随机数(random()和Random类)
这篇文章介绍了Java中生成随机数的两种方法:使用`Math.random()`方法和`Random`类的实例方法,并提供了示例代码展示如何使用这些方法生成特定范围或特定条件下的随机数。
|
6月前
|
算法 Java 测试技术
滚雪球学Java(55):想让你的程序更有趣?加上这个Java的Random类的小技巧!
【6月更文挑战第9天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
43 2
滚雪球学Java(55):想让你的程序更有趣?加上这个Java的Random类的小技巧!
|
6月前
|
存储 安全 Java
Java生成随机数的代码和方法
Java生成随机数的代码和方法
162 6
|
7月前
|
Java C语言
JAVA 初识 (一)JOptionPane、Scanner和Random的小认知
JAVA 初识 (一)JOptionPane、Scanner和Random的小认知
|
6月前
|
算法 安全 Java
什么是Java伪随机数,基础打牢。 #程序员 #Java #编程
什么是Java伪随机数,基础打牢。 #程序员 #Java #编程
36 0
|
15天前
|
设计模式 Java 开发者
Java多线程编程的陷阱与解决方案####
本文深入探讨了Java多线程编程中常见的问题及其解决策略。通过分析竞态条件、死锁、活锁等典型场景,并结合代码示例和实用技巧,帮助开发者有效避免这些陷阱,提升并发程序的稳定性和性能。 ####