什么是Random?
1.是java中API的java.util包中的一个产生随机数的类; 2.Random类中的随机算法是伪随机的,也就是说他的随机数也是有一定的规则的。
Random的应用场景
Random的大部分应用场景是用在网站的各种验证码。
Random的构造方法
1.Random random =new Random() 创建一个新的随机数生成器。 2.Random random =new Random(long seed) 使用单个 long种子创建一个新的随机数生成器。每次生成的随机数相同。 public static void main(String[] args) { Random random =new Random(3); for (int i = 0; i < 10; i++) { int num = random.nextInt(20); System.out.print(num+","); } System.out.println("
"); Random random1 =new Random(3); for (int i = 0; i < 10; i++) { int num = random1.nextInt(20); System.out.print(num+","); } } 上面是使用Random random =new Random(long seed)来创建的随机数。根据代码来看也是通俗易懂的。也就是说使用带参数的构造方法来创建参数可以生成相同的随机数。
Random的常用方法
1.nextInt():生成一个随机的整数 2.nextInt(int n):生成一个小于n但是大于等于0的整数。 3.nextLong():生成一个随机的长整数 4.nextFloat():生成一个随机的单精度数 5.nextDouble():获取一个随机的双精度数。 6.nextBoolean():获取一个随机的布尔值。
使用Random创建验证码的例子
需求:在0123456789abcdefghijklmnopqrstuvwsyz中产生4位的随机数。
public static void main(String[] args) {
//声明随机数的范围
String verC ="0123456789abcdefghijklmnopqrstuvwsyz";
//使用StringBuilder来进行追加数据
StringBuilder stringBuilder = new StringBuilder(4);
//实例化Random
Random random = new Random();
//将字符串转为数组,为for循环中根据索引寻找数值做备用
char[] chars = verC.toCharArray();
for (int i = 0; i < 4; i++) {
//获取到[0-36)之间的一个整数数值.
int i1 = random.nextInt(36);
//使用数值在数组中进行查询相应的数据并追加带StringBuilder中。
stringBuilder.append(chars[i1]);
}
System.out.println("生成的4位随机数位:"+stringBuilder);
}