需求:

定义方法实现随机产生一个5位的验证码

验证码格式:

1.长度为5

2.前四位是大写字母或者小写字母最后一位是数字

分析:

1.需要用到random类

2.可以先将字母放入数组中,再根据随机索引抽取随机字母

import java.util.Random;

public class Vcode {
public static void main(String[] args) {

//1.创立一个数组,将大小写字母都放入其中
char[] Arr=new char[52];

//利用ASCII码表
for (int i = 0; i < 52; i++) {
//添加大写字母
if(i<26) {
Arr[i] = (char) (65 + i);
}
//添加小写字母
else{
Arr[i]=(char)(97+i-26);
}
}

//2.通过随机索引,得到随机字母
//random类
Random r=new Random();

//随机四次并将结果拼接到字符串中
String result="";
for (int i = 0; i < 4; i++) {
//拼接
result+=Arr[r.nextInt(Arr.length)];
}

//3.随机一个数字0~9也拼接入字符串
result+=r.nextInt(10);

//4.输出结果
System.out.println(result);
}
}

random类

****定义******:Random类是java.until下的一个根据随机算法的起源数字进行一些变化,从而得到随机数字的方法。

xxxxxxxxxx int sum=0;        for (int i = 1; i <= 2020; i++) {            String s=””+i;            for (int j = 0; j < s.length(); j++) {                if(s.charAt(j)==’2’){                    sum++;               }           }​       }        System.out.println(sum);java

****常用方法****:

  1. *random.nextInt()*

返回值为整数,范围是int类型范围

  1. *random.nextLong()*

返回值为长整型,范围是long类型的范围

  1. *random.nextFloat()*

返回值为小数,范围是[0,0.1]

  1. *random.nextDouble()*

返回值为小数,范围是[0,0.1]

  1. *random.nextBoolean()*

返回值为boolean值,true和false概率相同

  1. *radom.nextGaussian()*

返回值为呈高斯(“正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0