Java基础第三天
冲鸭
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);
}
}