zoukankan      html  css  js  c++  java
  • 要求根据RandomStr.java:使用类型转换生成六位验证字符串,示例程序每次运 行时,都会生成不同的字符串。

    1.程序设计思想验证码

    ①定义一个字符串变量来保存随机生成的。

    ②利用循环产生六位随机数,在产生每一位时将其转换为char类型并写在字符串后面。

    ③利用对话框显示生成的验证码,并提示用户输入验证码。

    ④显示用户是否验证成功。

    2.程序流程图

    3.源程序代码

    import java.util.Random;
    import javax.swing.JOptionPane;  // import class JOptionPane
    public class VerificationCode {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String code="";//定义一个新的空字符串
            for(int i=1;i<=6;i++)
            {
                Random random=new Random();
                int character=random.nextInt(26)+97;//随机产生97-123之间的数
                code=code+(char)character;//将产生的数转化为char类型为小写字母
            }
            String input=JOptionPane.showInputDialog(code+"
    "+"请输入验证码:");//显示验证码,并提示用户输入验证码
            if(input.equals(code))//判断验证码是否正确
            {
                JOptionPane.showMessageDialog(null,"验证码正确,验证成功!","Results",JOptionPane.PLAIN_MESSAGE );
            }
            else
            {
                JOptionPane.showMessageDialog(null,"验证码错误,验证失败!","Results",JOptionPane.PLAIN_MESSAGE );
            }
        }
    
    }

     4.结果截图

     5.实验总结

    本题中的关键是对类型转换的把握,生成随机字符串的方法有很多,本题考查对RandomStr.java以及类型转换的使用。我在判断随机生成的字符串与用户输入的验证码是否一样时出错,我的代码为code==input,则出现无论输入什么验证码都会显示验证成功,后来经过查询,发现是判断时出错,因为在C++中直接判断就行,而在Java中要用到equals函数来判断。第二个错误则是粗心所致,我将input.equals(code)写成了input.equals(input),则出现无论输入什么验证码也都会显示验证成功。

    除此之外,程序的一个缺点是只能产生全是小写字母或者全是大写字母,再或者全是数字组成的验证码,不能产生小写字母、大写字母、数字随机结合的验证码。

  • 相关阅读:
    uwsgi启动报错 chdir(): No such file or directory [core/uwsgi.c line 2591]
    Django--导出项目依赖库requirements.txt
    Ubuntu--pip3 -V 问题
    hadoop第一个例子WordCount
    taskTracker和jobTracker 启动失败
    Linux上ln命令详细说明及软链接和硬链接的区别
    myeclipse配置hadoop开发环境
    【hadoop】ssh localhost 免密码登陆(图解)
    net start sshd 发生系统错误1069--cygwin安装过程
    cygwin安装sshd服务(win7)Error installing a service: OpenSCManager: Win32 error 5:
  • 原文地址:https://www.cnblogs.com/qilin20/p/7631769.html
Copyright © 2011-2022 走看看