random.nextInt(10);//0-9之间int型伪随机数
random.nextDouble();//0.0-1.0之间的double型伪随机数
random.nextDouble()*100;//0.0-100.0之间的double型伪随机数
//字符串转化为小写str.toLowerCase()
//字符串转化为大写str.toUpperCase()
public static void main(String[] args)
{
String randomNum = myRandom(5);
System.out.println(randomNum);
Scanner input = new Scanner(System.in);
System.out.print("请输入验证码:");
String inputStr = input.next();
while(!isEqual(inputStr,randomNum))
{
System.out.print("验证码不正确,请重新输入:");
inputStr = input.next();
}
System.out.println("输入正确,进入!");
}
/**
* 获取n位数字验证码
* @param n
* @return String
*/
private static String myRandomNum(int n)
{
StringBuffer sb = new StringBuffer();
for(int i = 0 ; i < n ; i++)
{
Random random = new Random();
int randomNum = random.nextInt(10);
sb.append(randomNum);
}
return sb.toString();
}
/**
* 获取n位数字字母组合的验证码
* @param n
* @return String
*/
private static String myRandom(int n)
{
StringBuffer sb = new StringBuffer();
String base="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//System.out.println(base.length());
for(int i = 0 ; i < n ; i++)
{
Random random = new Random();
int randomNo = random.nextInt(base.length());
char randomNum = base.charAt(randomNo);
sb.append(randomNum);
}
return sb.toString();
}
/**
* 判断两字符串是否相等(忽略大小写)
*/
private static boolean isEqual(String str1,String str2)
{
boolean b = false;
//都转化为小写,再比较
str1 = str1.toLowerCase();
str2 = str2.toLowerCase();
// //都转化为大写,再比较
// str1 = str1.toUpperCase();
// str2 = str2.toUpperCase();
if(str1.equals(str2))
{
b = true;
}
return b;
}