Java如何生成一个简单随机数 您所在的位置:网站首页 double怎么取模 Java如何生成一个简单随机数

Java如何生成一个简单随机数

2023-03-27 03:17| 来源: 网络整理| 查看: 265

java如何生成一个简单随机数

文章目录 java如何生成一个简单随机数一、利用random方法random方法讲解 二、通过Random类来实现三 、通过获取毫秒数来实现四、利用ThreadLocalRandom类

一、利用random方法

Java的Math类中,有一个random的方法可以用来生成随机数,这也是最简单的用来生成随机数的方法。

random方法讲解

random方法本身会生成0~1之间的随机数,注意,这些随机数都是double类型的,并且是大于等于0,小于1的。(不会等于1!!!) 在使用的时候我们可以对random方法灵活处理,来获得我们想要的数。

public static void main(String[] args) { //如何随机生成1-10之间的整数? int num=(int)(Math.random()*10+1); System.out.println(num); } }

前面的(int)是将随机生成的double类型强制转换成int类型, 再将random*10即可获得范围0~9之间的整数, 再+1即可获得1~10之间的随机整数.

如果想要随机生成1~N之间的整数,我们只需要把上面代码中的10换成N就ok了

再举个例子,比如我想获得10到100之间的随机整数,

public static void main(String[] args) { int max=100; int min=10; //也可以不定义max,min变量,直接把下面的max,min换成我们想要的范围 //max是最大值,min是这个范围的最小值 int num=(int)(Math.random()*(max-min)+min); System.out.print(num); } 二、通过Random类来实现

Random类的使用需要先定义一个实例 然后就可以通过这个实例生成随机数,不仅可以生成随机的int型整数,还能生成随机的float型,随机的double型,随机的boolean类型等等

public static void main(String[] args) { Random a =new Random();//定义一个实例 int ran1=a.nextInt(); }

此处ran1就是通过实例生成的随机整数,还可以随机生成其他类型的数

public static void main(String[] args) { Random a =new Random(); int ran1=a.nextInt(); int ran=a.nextInt(20); //这里可以指定随机数最大不能超过20 float ran2=a.nextFloat(); double ran3=a.nextDouble(); boolean ran4=a.nextBoolean(); }

Random类可以指定生成的随机数的范围上限,但是不能指定下限。

三 、通过获取毫秒数来实现

在System类中有一个currentTimeMillis的方法,这个方法是返回从1970年1月1号0点0分0秒到现在的毫秒数,返回的类型是long,我们可以返回值进行灵活操作,来获取一些随机值。 使用方法如下:

public static void main(String[] args) { //生成1~100之间的随机值 long randomNum=System.currentTimeMillis(); int ran=(int)(randomNum%(100-1)+1); }

此处的ran就是我们想要的随机值,后面的100和1可以自由的替换,100可以替换成随机数范围的上限,1替换成随机数范围的下限。 这种方法一般不常用,但也是一种思路。

四、利用ThreadLocalRandom类 public static void main(String[] args) { //分别生成不同类型的随机值 int ran1= ThreadLocalRandom.current().nextInt(); double ran2=ThreadLocalRandom.current().nextDouble(); float ran3=ThreadLocalRandom.current().nextFloat(); boolean ran4 =ThreadLocalRandom.current().nextBoolean();

ThreadLocalRandom类与Random类相比,ThreadLocalRandom类在使用的过程中不需要显式初始化实例,这样可以避免创建一些无用的实例。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有