java之简单随机验证码的生成
生成一个有大小写字母和数字组成的4位验证码 如:87F5;
我主要用了两种办法来实现:
方法一:
package com.qianfeng.day3.day3;
import java.util.Random;
public class HomeWork {
public static void main(String args[]){
//生成一个有大小写字母和数字组成的4位验证码 如:87F5;
rand();
}
public static void rand(){
Random random =new Random();
String res="";
for(int i=0;i<4;i++){
int choice=random.nextInt(3);//0 1 2
int num= random.nextInt(10);
int lower=random.nextInt(26)+97;//a-z :97-122
int power=random.nextInt(90-65+1)+65;//A-Z : 65-90;
switch (choice){
case 0://数字
res+=num;
break;
case 1:
res+=(char)lower;
break;
case 2:
res+=(char)power;
break;
default:
break;
}
}
System.out.println("随机验证码:"+res);
}
}
方法二:
```java
package com.qianfeng.day3.day3;
import java.util.Random;
public class HomeWork2 {
public static void main(String args[]){
//随机验证码的第二种方法:
//首先创建一个随机字符库,至少12个,最好是3和4的公倍数
Random random =new Random();
String str="";
String randomStr="";
for(int i=0;i<4;i++){
int num=random.nextInt(10);
randomStr+=num;
int lower= random.nextInt(122-97+1)+97;
randomStr+=(char)lower;
int power=random.nextInt(90-65+1)+65;
randomStr+=(char)power;
//randomStr+=num+(char)lower+(char)power;
}
System.out.println("随机字符库:"+randomStr);
for(int i=0;i<4;i++){
//在随机字符库中随机取四个值
int choice=random.nextInt(randomStr.length());
str+=randomStr.charAt(choice) ;
}
System.out.println("随机字符串为:"+str);
}
}
主要是看随机数的思想,逻辑;代码还是简单的;