首页 > 编程语言 > 详细

Java获取随机数的方法

时间:2021-08-05 16:03:35      阅读:17      评论:0      收藏:0      [点我收藏+]

JAVA获取随机数

java中一般是通过Random类来获取随机数,构造函数一般有两种形式
 - Random(long seed);
 - Random();
第一种是利用seed作为随机发生器的种子
而第二种省略了seed,则则利用系统时间作为随机发生器的种子
Random random = new Random();创建完随机对象之后通过以下方法可以获得不同类型的随机数method:nextInt()、nextLong()、nextFloat()、nextDouble();

以下是一个Demo

import java.util.Random;
public class CeShi{
    public static void main(String []args) {
        Random random = new Random();//随机数种子为系统时间
        Random random1 = new Random(10);//随机数种子为10
        System.out.println(random.nextInt());
        System.out.println(random1.nextInt());
    }
}

运行两次结果如下:

第一次

167473050
-1157793070

第二次

1939312458
-1157793070

两次运行可知使用系统时间作为随机数种子产生的随机数有变化但是利用10 作为随机数种子产生的随机数不管运行多少次都不变

如果Random对象使用相同的种子(比如都是100),并且以相同的顺序调用相同的函数,那它们返回值完全相同。

产生指定范围的随机数(三种方法)

1.通过java.util包中的Random类的next方法来获得

import java.util.Random;
public class CeShi{
    public static void main(String []args) {
        Random random = new Random();
        for(int i=0;i<10;i++)
        System.out.print(random.nextInt(100)+" ");
    }
}

三次运行结果如下:

技术分享图片

技术分享图片

技术分享图片

2.(数据类型)(最小值+Math.random()*(最大值-最小值+1))

1如果要产生100以内的随机数

(int)(Math.random()*(100-1+1))

产生1到100 以内的随机数

import java.util.Random;
public class CeShi{
    public static void main(String []args) {
        Random random = new Random();
        for(int i=0;i<10;i++)
        System.out.print((int)(Math.random()*100)+" ");
    }
}

3.利用%进行取模操作即可

产生的随机数有正有负,利用abs方法取绝对值

通过%100就能得到100 以内的随机数

import java.util.Random;
public class CeShi{
    public static void main(String []args) {
        Random random = new Random();
        for(int i=0;i<10;i++)
        System.out.print(Math.abs(random.nextInt()%100)+" ");
    }
}

Java获取随机数的方法

原文:https://blog.51cto.com/u_15297441/3278752

(0)
(0)
   
举报
评论 一句话评论(0
分享档案
最新文章
教程昨日排行
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!