import java.util.Random; import java.util.Scanner; public class Test05 { public static void main(String[] args) { Random rand = new Random(); // 创建Random对象,用于生成随机数 Scanner scan = new Scanner(System.in); // 创建Scanner对象,用于接收用户输入 String code = ""; // 用于保存生成的验证码 String line = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; // 验证码字符范围 for (int i = 0; i < 4; i++) { // 生成4位验证码 int index = rand.nextInt(line.length()); // 生成一个0到line长度之间的随机整数 char cha = line.charAt(index); // 根据索引获取对应位置的字符 code += cha; // 将字符拼接到验证码中 } System.out.println("验证码:" + code); // 输出生成的验证码 System.out.println("请输入验证码:"); // 提示用户输入验证码 String input = scan.nextLine(); // 获取用户输入的验证码 if (code.equalsIgnoreCase(input)) { // 忽略大小写比较用户输入的验证码和生成的验证码 System.out.println("验证成功"); // 验证码匹配成功 } else { System.out.println("验证失败"); // 验证码匹配失败 } } }
注释:
- 导入必要的类:
java.util.Random
用于生成随机数,java.util.Scanner
用于接收用户输入。 - 创建主类
Test05
。 main()
方法是Java程序的入口方法,程序从这里开始执行。- 创建
Random
对象rand
,用于生成随机数。 - 创建
Scanner
对象scan
,用于接收用户输入。 - 声明字符串变量
code
,用于保存生成的验证码。 - 声明字符串变量
line
,表示验证码字符的范围。 - 使用
for
循环生成4位验证码。 - 在每次循环中,调用
rand.nextInt(line.length())
生成一个0到line.length()
之间的随机整数作为索引。 - 调用
line.charAt(index)
获取对应位置的字符。 - 将字符拼接到
code
字符串中。 - 输出生成的验证码。
- 提示用户输入验证码。
- 调用
scan.nextLine()
接收用户输入的验证码。 - 使用
equalsIgnoreCase()
方法比较用户输入的验证码和生成的验证码,忽略大小写。 - 如果匹配成功,则输出"验证成功"。
- 如果匹配失败,则输出"验证失败"。
- 程序执行完毕,结束运行。