美文网首页
Java 随机数产生 Random和Math 解决

Java 随机数产生 Random和Math 解决

作者: 分布式与微服务 | 来源:发表于2022-09-02 09:07 被阅读0次

Random

Random 类诞生于 JDK 1.0,它产生的随机数是伪随机数,也就是有规则的随机数。Random 使用的随机算法为 linear congruential pseudorandom number generator (LGC) 线性同余法伪随机数。在随机数生成时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。

Random 对象在种子数相同的情况下,相同次数生成的随机数是相同的。比如两个种子数相同的 Random 对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。默认情况下 new Random() 使用的是当前纳秒时间作为种子数的。

执行效率比较高,生成的速度比较快,每次基于


运用包

import java.util.Random;

0~100

import java.util.Random;
 
public class test {
    public static void main(String[] args) {
        Random random = new Random();
        int rannum = random.nextInt(101);   // [0,101) ---> [0,100]
    }
}

1~100

import java.util.Random;
 
public class test {
    public static void main(String[] args) {
        Random random = new Random();
        int rannum = random.nextInt(100)+1;   // [1,101) ---> [1,100]
    }
}

50~100

import java.util.Random;
 
public class test {
    public static void main(String[] args) {
        Random random = new Random();
        int rannum = random.nextInt(51)+50;   // [50,101) ---> [50,100]
    }
}

Math

Math 类诞生于 JDK 1.0,它里面包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数,当然它里面也包含了生成随机数的静态方法 Math.random() ,此方法会产生一个 0 到 1 的 double 值,如下代码所示。

    public static void main(String[] args) {
    double number1 = Math.random();  //生成小数 0~1
    int number2 = (int) (Math.random() * 100);  // 0~100
    System.out.println("生成随机小数:" + number1);
    System.out.println("生成随机整数:" + number2);

相关文章

网友评论

      本文标题:Java 随机数产生 Random和Math 解决

      本文链接:https://www.haomeiwen.com/subject/gljgirtx.html