完成一个验证码生成器,要求能够随机生成0~9,a~z,A~Z之间长度为4位的验证码,并完成一个验证过程
程序员文章站
2022-03-10 19:10:38
模仿验证码的验证过程import java.util.Scanner;// 创建验证码类public class Captcha {//方法一:随机生成0--9的随机数public int math1() {return (int) (Math.random() * 10);}//方法二:随机生成0--9的随机数public int math2() {return (int) (Math.random() * 10);}//方法三:随机生成97——122的...
模仿验证码的验证过程
import java.util.Scanner;
// 创建验证码类
public class Captcha {
//方法一:随机生成0--9的随机数
public int math1() {
return (int) (Math.random() * 10);
}
//方法二:随机生成0--9的随机数
public int math2() {
return (int) (Math.random() * 10);
}
//方法三:随机生成97——122的随机数 并且转化成char类型
//Ascall码对应(a(97)——z(122))
public char word1() {
return (char) ((Math.random() * (122 - 97 + 1)) + 97);
}
//方法三:随机生成65——97的随机数 并且转化成char类型
//Ascall码对应(A(65)——Z(97))
public char word2() {
return (char) ((Math.random() * (90 - 65 + 1)) + 65);
}
/**
*创建新的方法进行随机生成
*
*/
public void random() {
int a = 0;
//定义一个字符串用来拼接随机生成的验证码
String code = "验证码:";
//循环四次,每次随机取一个值,共取四个值
while (a < 4) {
a++;
int i = (int) (Math.random() * (4 - 1 + 1) + 1);
switch (i) {
case 1:
int q = math1();
String j = String.valueOf(q);
code += j;
break;
case 2:
int m = math2();
String n = String.valueOf(m);
code += n;
break;
case 3:
char k = word1();
String l = String.valueOf(k);
code += l;
break;
case 4:
char x = word2();
String y = String.valueOf(x);
code += y;
break;
}
}
//打印输出生成的验证码
System.out.println(code);
//让用户输入验证码
Scanner sc = new Scanner(System.in);
System.out.println("请输入验证码(区分大小写):");
//定义新的字符串v接受用户输入的验证码
String v = sc.next();
// 判断用户输入的字符串是否符合目标字符串
if (code.contains(v)) {
System.out.println("验证成功");
} else {
System.out.println("验证失败");
}
}
public static void main(String[] args) {
Captcha r = new Captcha();
r.random();
}
}
输出结果:
问题蛮多,请多多请教!
本文地址:https://blog.csdn.net/orange1good/article/details/109587915
上一篇: 匿名对象的值传递
下一篇: JDBC管理事物概述、实现