JAVA获取随机数

原创 2018年04月15日 16:01:42

JAVA获取随机数

java中一般是通过Random类来获取随机数,构造函数一般有两种形式


 - Random(long seed);
 - Random();


第一种是利用seed作为随机发生器的种子
而第二种省略了seed,则则利用系统时间作为随机发生器的种子

Random random = new Random();创建完随机对象之后通过以下方法可以获得不同类型的随机数methodnextInt()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),并且以相同的顺序调用相同的函数,那它们返回值完全相同。

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

一、通过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)+" ");
    }
}

三次运行结果如下:
这里写图片描述
这里写图片描述
这里写图片描述

二、(数据类型)(最小值+Math.random()*(最大值-最小值+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)+" ");
    }
}
三、利用%进行取模操作即可
产生的随机数有正有负,利用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)+" ");
    }
}
版权声明:本文为 清风丿自来 原创文章,未经允许不得转载。 https://blog.csdn.net/qq_39098813/article/details/79950059

JAVA获取随机数

         在Java中我们可以使用java.util.Random类来产...
  • herrapfel
  • herrapfel
  • 2007-11-14 16:37:00
  • 333398

java常用类--随机数类Random

Random类用于生成一个伪随机数,它的构造器可以是无参数(以系统时间为种子)的也可以显式的传入一个种子; 它可以输出各种类型的随机数;如果两个random的初始种子是一样的,那么他们产生的相同类型...
  • acm_lkl
  • acm_lkl
  • 2015-01-25 22:09:07
  • 2096

Java如何获得一个随机数

 在Java中,随机数的概念从广义上将,有三种。 1、通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。 2、通过...
  • yuanyuan_186
  • yuanyuan_186
  • 2014-04-30 10:25:50
  • 2070

Java获取随机数的几种方法总结

随机数 java
  • xiaoyu940601
  • xiaoyu940601
  • 2017-02-06 14:51:59
  • 3838

java随机数获得方法(math类和random类)

math类java.lang.Math.random() //获得之间[0.0-1.0)的随机数 double类型实用公式:获取mix - max值之间的随机数/** * 获取1-10之间的随机数 ...
  • qq_41477465
  • qq_41477465
  • 2018-04-13 10:10:24
  • 8

Java 随机数、概率实现——Random类

前言:Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Rando...
  • csdn_aiyang
  • csdn_aiyang
  • 2017-07-19 00:30:54
  • 566

Java 取六位随机数

//String.valueOf(Math.ceil(Math.random()*500000+500000)); String strNum = String.valueOf(Mat...
  • zhaodongning
  • zhaodongning
  • 2015-05-20 17:48:14
  • 3248

【Java &#62; UUID,随机数,标识符】Java生成随机数,UUID

UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。按照开放软件基金会(OSF)制定的标准计算,...
  • koterror
  • koterror
  • 2013-01-23 12:10:14
  • 662

java获取随机数的几种方法

1.Math.random()方法 例子:求1到10之间的随机数 [java] view plain copy public static...
  • qfikh
  • qfikh
  • 2016-08-14 19:20:10
  • 178

Java如何获取随机数

1.使用org.apache.commons.lang.RandomStringUtils.randomAlphanumeric(10)取数字字母随机10位; //取得一个3位随机数字字符串 Stri...
  • zheng963
  • zheng963
  • 2015-01-09 10:11:15
  • 1364
收藏助手
不良信息举报
您举报文章:JAVA获取随机数
举报原因:
原因补充:

(最多只允许输入30个字)