设计思想

第一步:随机生成字符串

第二步:用户输入字符串

第三步:将两个字符串转化为同一类型

第四步:比较是否相同

第五步:输出结果

程序流程图

程序源代码

/*
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 );
}

}

}

验证截图

总结

最开始不懂如何生成字符串,通过上网查询得知。后来,测试发现不管正确与否都显示输入的与生成的不同,然后猜测是字符串类型不同所导致,然后将其中一个转化为另一种类型后,就能成功运行了。

最新文章

  1. instanceof 运算符
  2. ASP.NET Core Docker部署
  3. PHP截取中文无乱码函数——cutstr
  4. NOIP 2000解题报告
  5. Ajax入门
  6. 在sql中使用了 hashbytes 函数
  7. direction:rtl demo
  8. pmtest1.asm pmtest2.asm pmtest5.asm 这几个比较重要.
  9. MVC Ajax 提交是防止SCRF攻击
  10. windows下apache配置ssl(https)服务器
  11. Bloom Filter概念和原理
  12. 转 - Web新人(偏前端)应该怎样学习(个人观点,勿喷)
  13. Javascript学习十
  14. SqlService 索引原理
  15. UVA10341-Solve It-二分查找
  16. 走进webpack(2)--第三方框架(类库)的引入及抽离
  17. [译文]Domain Driven Design Reference(一)—— 前言
  18. git 入门教程之1分钟快速了解 git
  19. WPF中获取控件默认样式和模板XML
  20. redis 的消息订阅和消息队列的功能比较

热门文章

  1. Selenium 2自动化测试实战18(上传文件)
  2. 连接Xshell
  3. 关于Qt中的QMutex——关于lock与unlock
  4. tensorflow各个版本的CUDA以及Cudnn版本对应关系
  5. 20191128 Spring Boot官方文档学习【目录】
  6. [转帖]教你如何修改运行中的docker容器的端口映射
  7. [转帖]软件的变革与 AOT
  8. 树型DP入门
  9. MySQL中的索引简介
  10. 你知道dos和cmd之间的关系以及区别吗?