zoukankan      html  css  js  c++  java
  • 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 );
    }

    }

    }

     

    验证截图

    总结

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

  • 相关阅读:
    ps图像渐变
    QPaintDevice: Cannot destroy paint device that is being painted
    QWidget::paintEngine: Should no longer be called
    权谋 — 朱元璋
    TL(简单)
    Access“输入的表达式中含有一个无效日期值”
    Qt label加边框
    Guardian of Decency(二分图)
    匈牙利算法的小总结
    Simple Molecules(简单)
  • 原文地址:https://www.cnblogs.com/wys-373/p/7635361.html
Copyright © 2011-2022 走看看