第十一次实验课代码
添加C08~C011
This commit is contained in:
54
C10-Swing/src/utils/CaptchaUtils.java
Normal file
54
C10-Swing/src/utils/CaptchaUtils.java
Normal file
@@ -0,0 +1,54 @@
|
||||
package utils;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* 验证码工具类
|
||||
*/
|
||||
public class CaptchaUtils { // final修饰类:不能被继承
|
||||
// 【任务1】静态常量:字符集(全局固定)
|
||||
static final String CHAR_SET="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
||||
|
||||
// 【任务2】静态常量:验证码长度(全局固定)
|
||||
static final int CAPTCHA_LENGTH=4;
|
||||
|
||||
// 【任务3】私有构造方法:禁止创建实例(工具类无需实例化)
|
||||
private CaptchaUtils(){
|
||||
}
|
||||
|
||||
/**
|
||||
* 【任务4】
|
||||
* 静态方法:generateCaptcha 生成随机验证码
|
||||
* @return String 返回生成的随机验证码字符串
|
||||
*/
|
||||
public static String generateCaptcha(){
|
||||
Random random = new Random();
|
||||
//生成随机验证码
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for(int i=0;i<CAPTCHA_LENGTH;i++){
|
||||
//生成随机数索引
|
||||
int index = random.nextInt(CHAR_SET.length());
|
||||
//根据索引获取随机字符
|
||||
sb.append(CHAR_SET.charAt(index));
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
/**
|
||||
* 【任务5】
|
||||
* 静态方法:verifyCaptcha 验证验证码
|
||||
* @param inputCaptcha 用户输入的验证码
|
||||
* @param systemCaptcha 系统生成的验证码
|
||||
* @return boolean 验证结果,true表示验证通过,false表示验证失败
|
||||
*/
|
||||
public static boolean verifyCaptcha(String inputCaptcha,String systemCaptcha){
|
||||
return inputCaptcha.equalsIgnoreCase(systemCaptcha);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
for(int i=0;i<10;i++)
|
||||
System.out.println(generateCaptcha());
|
||||
|
||||
System.out.println(CaptchaUtils.verifyCaptcha(generateCaptcha(), generateCaptcha()));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user