• Java数字处理类--Math类--随机数


    1. 生成随机数方法:

            1.1 Math.random()方法

            1.2 Random类

    2. Math.random()方法

            2.1 Math.random():产生0~1之间的double型随机数

    1. package MathInfo;
    2. public class MathRandom {
    3. //定义产生偶数的公式:int num = (int) num1 + (int) (Math.random() * (num2 - num1));
    4. public static int GetEvenNum(double num1, double num2) {
    5. int num = (int) num1 + (int) (Math.random() * (num2 - num1));
    6. if (num % 2 == 0) {
    7. return num;
    8. } else {
    9. return num + 1;
    10. }
    11. }
    12. public static void main(String[] args) {
    13. System.out.println("返回任意一个2~32之间的偶数:" + GetEvenNum(2, 32));
    14. }
    15. }
    16. 输出:
    17. 返回任意一个2~32之间的偶数:20

            2.2 (char)(char1+Math.random()*(char2-char1+1)) 产生char1~char2之间的任意字符

    (char)('a'+Math.random()*('z'-'a'=1)):产生a~z之间的字符

    1. package MathInfo;
    2. public class MathRandomChar {
    3. public static char GetRandomChar(char char1, char char2) {
    4. char randomChar = (char) (char1 + Math.random() * (char2 - char1));
    5. return randomChar;
    6. }
    7. public static void main(String[] args) {
    8. System.out.println("随机生成a~h间的任意字符:" + GetRandomChar('a', 'h'));
    9. System.out.println("随机生成a~h间的任意字符:" + GetRandomChar('0', '5'));
    10. }
    11. }
    12. 输出:
    13. 随机生成a~h间的任意字符:a
    14. 随机生成a~h间的任意字符:4

    3.Random类

            Java中的java.util.Random类,通过实例化一个Random对象可以创建一个随机数生成器。本质都是通过时间作为随机数生成器的种子,所以运行太快了,也可能两次运行生成相同的随机数。

    语法如下:

            Random r = new Random(seedValue);

            3.1 返回一个随机整数:

                    Random.nextInt()

            3.2 返回一个大于0且小于n的随机整数:

                    Random.nextInt(int n)

            3.3 返回一个随机长整型值:

                    Random.nextLong()

            3.4 返回一个随机布尔型值:

                    Random.nextBoolean()

            3.5 返回一个随机浮点型值:

                    Random.nextFloat()

            3.6 返回一个随机双精度型值:

                    Random.nextDouble()

            3.7 返回一个概率密度为高斯分布的双精度值:

                    Random.nextGaussian()

    1. package MathInfo;
    2. import java.util.Random;
    3. public class RandomDemo {
    4. public static void main(String[] args) {
    5. Random r = new Random();
    6. System.out.println("随机产生一个整数:" + r.nextInt());
    7. System.out.println("随机产生一个大于0小于10的整数:" + r.nextInt(10));
    8. System.out.println("随机产生一个布尔型的值:" + r.nextBoolean());
    9. System.out.println("随机产生一个双精度型的值:" + r.nextDouble());
    10. System.out.println("随机产生一个浮点型的值:" + r.nextFloat());
    11. System.out.println("随机产生一个概率密度为高斯分布的双精度的值:" + r.nextGaussian());
    12. }
    13. }
    14. 输出:
    15. 随机产生一个整数:921826330
    16. 随机产生一个大于0小于10的整数:8
    17. 随机产生一个布尔型的值:false
    18. 随机产生一个双精度型的值:0.11863251566741406
    19. 随机产生一个浮点型的值:0.035497546
    20. 随机产生一个概率密度为高斯分布的双精度的值:0.2351924571786877
  • 相关阅读:
    解读凯文·凯利《失控》
    基于ASP.NET的Web应用系统架构探讨
    检测Windows环境中的内部威胁
    在github上设置不同分支,方便回滚
    C/C++模拟校园卡
    JMeter详解
    【剑指offer】1-5题
    Linux完全卸载PyTorch&重装(cuda11.1)
    【Linux入门】Linux权限及管理
    绿联Nas docker 中 redis 老访问失败的排查
  • 原文地址:https://blog.csdn.net/qq_40132294/article/details/133869004