题目要求:
在登录注册页面中,除了用户名和密码外,通常也会包含验证码。验证码是用来区分用户是计算机还是人,防止恶意破解密码、刷票、灌水等行为。在判断验证码时一般不区分大小写。
请编写程序模拟验证码的判断过程,如果输入正确,给出提示,结束程序。如果输入错误,给出提示,验证码刷新,重新输入,直至正确为止。
题目分析:
1.定义方法,获取一个包含5个字符的验证码,每一位字符是随机选择的字母和数字,可包含a-z,A-Z,0-9
2.生成随机数使用Random方法
3.生成随机验证码的方法需要有String类型的返回值
4.使用Scanner键盘录入自己输入的验证码
5.判断验证码是否输入正确,if-else语句,因为不需要区分大小写,所以在比较是可以使用equalsIgnoreCase()方法进行判断
6.输入错误会进行重新输入,要使用while(true){}死循环
代码运行效果如下:
代码流程:
package com.test;
import java.util.Random;
import java.util.Scanner;
public class LoginCode {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
//String code=code(5);
//System.out.println(code);
String code1=code(5);
System.out.println("生成的验证码为:"+code1);
while(true){
System.out.println("请输入验证码:");
String myCode=sc.next();
if(myCode.equalsIgnoreCase(code1)){
System.out.println("输入正确");
break;
}else{
System.out.println("生成的新验证码为:"+code1);
System.out.println("输入错误,验证码刷新,重新输入");
}
}
}
public static String code(int code){
String str="abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890";
Random r=new Random();
String code1="";//定义一个空的字符串变量存放生成的验证码
for(int i=0;i<code;i++){
int a=r.nextInt(58);
code1+=str.charAt(a);
}
return code1;
}
}
🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁
🍉博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言