这周内学习了Java的Random班。 我需要写验证码。 在Random中获取伪随机验证码,并比较控制台输入中验证码是否匹配。
代码如下。
import java.util.Random;
import java.util.Scanner;
//*
*4位验证码包含数字,字母不区分大小写。
*/
公共类随机演示{
sannersc=newscanner(system.in;
Random random=new Random (;
//*
*获取验证码
*
* @return
*/
公共字符串获取代码
//保存验证码
String str=' ';
//定义长度为4的char型数组分别存储4位的认证码的任意一个
char[] c=new char[4];
//获取4位验证码
for(intI=0; i c.length; I ) {
//使用随机数随机获取大小写和数字
inta=random.nextint(3;
if(a1 ) {
//大写字母a至a~b(ascii代码65-90 ) ) ) ) ) ) ) ) )。
c[I]=(char ) ) random.nextint ) 26 ) 65;
(elseif(a=1a2) ) )。
//数字0至9 (ascii代码48-57 ) )。
c[I]=(char ) ) random.nextint ) 10 ) 48;
(elseif(a=2a3 ) ) ) )。
//小写字母a至A~Z(ASCII代码97-122 ) ) ) )。
c[I]=(char ) ) random.nextint ) 26 ) 97;
}
}
//字符串连接
for(intI=0; i c.length; I ) {
str=str c[i];
}
返回str;
}
//*
*验证码比较
*/
公共语音比较
String code=getCode (;
System.out.println (认证码为: )代码);
请输入System.out.println ('验证码: ';
String s=sc.nextLine (;
/*
*字符串类的equals ignore case (字符串侦听)方法将此字符串作为
*与另一个String相比,返回布尔类型,与大小写无关。
*/
if(code.equalsignorecase(s ) ) )
System.out.println (验证码输入正确! ' );
}
}
publicstaticvoidmain (字符串[ ] args ) {
新随机demo ().campare );
}
}
上面的代码充分利用了本人本周学过的String类和Random类的一部分。 也许有更好的方法。 仅限于本人的水平,但先这样做。