Java实验 验证码

题目要求

使用String类和Random类随机生成一串数字验证码,模拟验证过程,用户有三次验证机会。

代码

package test4; import java.util.Random; import java.util.Scanner; public class test1 { public static void main(String[] args) { // TODO 自动生成的方法存根 Random r = new Random(); int num = r.nextInt(90000)+10000;//设置5位数的验证码 String yzm = Integer.toString(num);//将int类型转化为String类型 System.out.print("验证码为"+yzm); System.out.println(); Scanner input = new Scanner(System.in); int x = 1;//循环变量 while(x<=3) { System.out.print("第"+x+"次尝试输入验证码:"); String y = input.next();//输入的验证码 if(y.equals(yzm)) { System.out.println("输入成功!!!"); break; }else if(x == 3) { System.out.println("输入错误,您已经没有机会了!!!"); break; }else { System.out.println("输入错误,您还有"+(3-x)+"次机会!"); x++; } } //当输入和验证码相同,则输出“输入成功!!!”,并跳出循环 //输入和验证码不相同,且已经输入3次时,输出,停止循环 //当输入和验证码不相同,且还没有输入3次时,输出,x++ input.close(); } }

运行结果

验证码为49225 1次尝试输入验证码:49222 输入错误,您还有2次机会! 2次尝试输入验证码:49222 输入错误,您还有1次机会! 3次尝试输入验证码:49222 输入错误,您已经没有机会了!!!

 

验证码为87587 1次尝试输入验证码:87587 输入成功!!!

思考

如何生成英文字母和数字的混合验证码。

代码

package think4; import java.util.Random; import java.util.Scanner; public class think1 { public static void main(String[] args) { String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890"; char[] c = s.toCharArray(); Random r = new Random(); String sum = ""; for(int i=0;i<5;i++) { sum = sum + c[r.nextInt(c.length)]; } System.out.println("验证码为:"+sum); Scanner input = new Scanner(System.in); int x = 1; while(x<=3) { System.out.print("第"+x+"次尝试输入验证码(区分大小写):"); String y = input.next(); if(y.equals(sum)) { System.out.println("输入成功!!!"); break; }else if(x == 3) { System.out.println("输入错误,您已经没有机会了!!!"); break; }else { System.out.println("输入错误,您还有"+(3-x)+"次机会!"); x++; } } input.close(); } }

运行结果

验证码为:goicC 1次尝试输入验证码(区分大小写):goicc 输入错误,您还有2次机会! 2次尝试输入验证码(区分大小写):goicc 输入错误,您还有1次机会! 3次尝试输入验证码(区分大小写):goicc 输入错误,您已经没有机会了!!!
验证码为:DzWX1 1次尝试输入验证码(区分大小写):DzWX1 输入成功!!!

个人代码如有错误,欢迎指正


__EOF__

本文作者柏木カケル
本文链接https://www.cnblogs.com/kakeru-kashihagi/p/16294102.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   柏木カケル  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示