欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

完成一个验证码生成器,要求能够随机生成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();
	}

}

输出结果:完成一个验证码生成器,要求能够随机生成0~9,a~z,A~Z之间长度为4位的验证码,并完成一个验证过程
完成一个验证码生成器,要求能够随机生成0~9,a~z,A~Z之间长度为4位的验证码,并完成一个验证过程
问题蛮多,请多多请教!

本文地址:https://blog.csdn.net/orange1good/article/details/109587915

相关标签: java 字符串