Java Random类

Java Random类


java.util.Random类提供了一系列用于生成伪随机数的方法.
Random类是JDK中的随机数生成器类,可以通过实例化一个Random对象创建一个随机数生成器.

Random random=new Random();

Java编译器将以系统当前时间作为随机数生成器的种子.因为每时每刻的时间不可能相同,所以每次生成的随机数都不一样.但是如果运行速度太快,也会产生两个运行结果相同的随机数.

Random类的构造方法:
1. public Random():创建一个Random对象
2. public Random(long seed):使用参数seed指定的种子创建一个Random对象

相同种子数的Random对象,相同次数生成的随机数是相同的.
也就是说,两个种子数相同的Random对象,第一次生成的随机数完全相同,第二次生成的随机数也完全相同…

import java.util.Random;
public class Text2 {
    public static void main(String[] args) {
        Random r1=new Random(6);
        Random r2=new Random(6); //创建两个种子数相同的Random对象
        System.out.println("r1生成的随机序列:");
        for(int i=0;i<6;i++)
        {
            System.out.print(r1.nextInt()+" ");
        }
        //此时你可以指定生成的随机数范围如:r1.nextInt(100);但是必须也给r2加上100,否则生成的随机数序列不一样
        System.out.println("\n"+"r2生成的随机序列:");
        for(int j=0;j<6;j++)
        {
            System.out.print(r2.nextInt()+" ");
        }
    }
}
/*r1生成的随机序列:
-1156254074 1587013752 -1805495963 895648357 -953430013 -1016102489 
r2生成的随机序列:
-1156254074 1587013752 -1805495963 895648357 -953430013 -1016102489 */

Random类常用的方法:

1. public int nextInt():生成一个随机的介于-2^312^31-1之间的int2. public int nextInt(int n):生成一个随机的在[0,n)范围之间的int3. public boolean nextInt(int a,int b):生成一个随机的在[a,b)范围之间的int4. public float nextFloat():生成一个随机的float,数值介于[0,1.0)
5. public float nextFloat(float n):生成一个随机的float,数值介于[0,n)
6. public float nextFloat(float a,float b):生成一个随机的float,数值介于[a,b)

7. public double nextDouble():生成一个随机的double,数值介于[0,1.0)之间
8. public double nextDouble(double n):生成一个随机的double,数值介于[0,n)
9. public double nextDouble(double a,double b):生成一个随机的double,数值介于[a,b)
 
10.public boolean nextBoolean():生成一个随机的boolean11. public long nextLong():返回一个随机长整型值
12. public long nextLong(long n):生成一个随机的long,数值介于[0,n)
13. public long nextLong(long a,long b):生成一个随机的long,数值介于[a,b)

14. public double nextGaussian():返回一个概率密度为高斯分布的双精度浮点型值(返回平均值为0.0,标准差为1.0的下一个伪随机高斯分布双精度数)
15. public double nextGaussian(double mean,double stddev):自定义均值,标准差
 
import java.util.Random;

public class Text2 {
    public static void main(String[] args) {
        Random r=new Random();
        System.out.println("[0,10)之间的随机整数序列:");
        for(int i=0;i<10;i++)
        {
            int a=r.nextInt(10);
            System.out.print(a+" "); //8 2 0 7 9 0 6 9 7 8
        }
        System.out.println("\n"+"随机boolean序列:");
        for(int j=0;j<10;j++)
        {
            System.out.print(r.nextBoolean()+" ");
        }
        System.out.println("\n"+"[0,1.0)之间的随机double序列");
        for(int k=0;k<5;k++)
        {
            System.out.print(r.nextDouble()+" ");
        }
    }
}
/*[0,10)之间的随机整数序列:
7 4 5 0 2 5 1 3 4 8 
随机boolean序列:
true true false true false false false true false false 
[0,1.0)之间的随机double序列
7.000985606205878E-4 0.20796708587251245 0.06288670999858792 0.6776123265691946 0.5195104616802022 */
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RandomJava中用于生成随机数的。它提供了多个方法用于生成不同型的随机数。其中一些常用的方法包括: - `public boolean nextBoolean()`:生成一个随机的布尔值,即true或false。 除此之外,Random还提供了其他用于生成随机数的方法,如生成整数、浮点数、字节等。这些方法都是基于种子数(seed)进行一定的变换,从而生成需要的随机数字。种子数可以通过构造Random对象时传入参数进行设置,如果不指定种子数,则默认使用当前时间作为种子数。 使用Random时,可以通过调用不同的方法来生成指定区间的随机数。例如,可以使用`nextInt(int bound)`方法生成一个在指定范围内的随机整数,其中bound参数指定了上限(不包含)。如果需要生成指定范围内的随机浮点数,则可以使用`nextDouble()`方法生成一个0到1之间的随机浮点数,并根据需要进行线性变换。 通过使用Random的方法,我们可以在程序中实现需要的随机性和几率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [JAVARandom常用用法](https://blog.csdn.net/qq_37857292/article/details/124397982)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [JAVA Random](https://blog.csdn.net/wztmds/article/details/127586834)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值