JAVA中生成随机数的方法
第一种:Math.random()
返回的数值是[0.0,1.0)的double型数值,由于double类数的精度很高,可以在一定程度下看做随机数,借助(int)来进行类型转换就可以得到整数随机数了,代码如下。
(数据类型)(最小值+Math.random()*(最大值-最小值+1))
第二种: JDK提供了一个类, 类名Random, 主要功能 : 可以生成指定范围内的任意一个随机数, Random来自于java.util路径下
double nextDouble()//[0.0, 1.0) int nextInt()//返回int类型随机数 int nextInt(int n) //返回[0, n)之间的随机数
第三种:currentTimeMillis() (了解)
方法返回从1970年1月1日0时0分0秒(这与UNIX系统有关)到现在的一个long型的毫秒数,取模之后即可得到所需范围内的随机数。
public static void main(String[] args) { int max=100,min=1; long randomNum = System.currentTimeMillis(); int ran3 = (int) (randomNum%(max-min)+min); System.out.println(ran3); }
案例: 1-100之间的任意一个随机整数
package com.tohka; import java.util.Random; //案例 : 1-100之间的任意一个随机整数 public class Demo3 { public static void main(String[] args) { //第一种 Math.Random() //(数据类型)(最小值+Math.random()*(最大值-最小值+1)) int ran1 = (int)(1+ Math.random()*(100-1+1)) ; System.out.println(ran1); //第二种 random类 nextDouble Random random = new Random(); int ran2 = (int)(1+random.nextDouble()*(100-1+1)); System.out.println(ran2); //第三种 random类 nextInt int ran3 = random.nextInt(100)+1; System.out.println(ran3); //第四种 System.currentTimeMillis() long currentTimeMillis = System.currentTimeMillis(); int ran4 = (int)(currentTimeMillis%(100-1)+1); System.out.println(ran4); } }