java模拟验证码生成
设计思想
第一步:随机生成字符串
第二步:用户输入字符串
第三步:将两个字符串转化为同一类型
第四步:比较是否相同
第五步:输出结果
程序流程图
程序源代码
/*
2017/10/7 王翌淞 验证码模拟
*/
import javax.swing.JOptionPane; // import class JOptionPane
import java.util.Random;
public class Verification {
public static void main(String[] args) {
// TODO Auto-generated method stub
String base = "abcdefghijklmnopqrstuvwxyz0123456789"; //设置基础字符串组,用来提取字母
String str;
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 6; i++) {
int number = random.nextInt(base.length()); //在长度内随机生成数字
sb.append(base.charAt(number)); //根据生成的数字从base提取字母
}
str =
JOptionPane.showInputDialog( "验证码"+sb ); //用户输入
String str1=new String(sb); //强制转化类型
if(str1.equals(str)) //判断两个字符串是否相同
{
JOptionPane.showMessageDialog(
null, "验证码输入正确", "结果", //输出正确
JOptionPane.PLAIN_MESSAGE );
}
else
{
JOptionPane.showMessageDialog(
null, "验证码输入错误", "结果", //输出错误
JOptionPane.PLAIN_MESSAGE );
}
}
}
验证截图
总结
最开始不懂如何生成字符串,通过上网查询得知。后来,测试发现不管正确与否都显示输入的与生成的不同,然后猜测是字符串类型不同所导致,然后将其中一个转化为另一种类型后,就能成功运行了。
最新文章
- instanceof 运算符
- ASP.NET Core Docker部署
- PHP截取中文无乱码函数——cutstr
- NOIP 2000解题报告
- Ajax入门
- 在sql中使用了 hashbytes 函数
- direction:rtl demo
- pmtest1.asm pmtest2.asm pmtest5.asm 这几个比较重要.
- MVC Ajax 提交是防止SCRF攻击
- windows下apache配置ssl(https)服务器
- Bloom Filter概念和原理
- 转 - Web新人(偏前端)应该怎样学习(个人观点,勿喷)
- Javascript学习十
- SqlService 索引原理
- UVA10341-Solve It-二分查找
- 走进webpack(2)--第三方框架(类库)的引入及抽离
- [译文]Domain Driven Design Reference(一)—— 前言
- git 入门教程之1分钟快速了解 git
- WPF中获取控件默认样式和模板XML
- redis 的消息订阅和消息队列的功能比较