实验四

1、 实验要求: 1) 按照题目内容要求编写程序实现功能。 2) 实验报告中要求包括程序设计思想、程序流程图、源程序、实现结果截图、 实验总结(包括调试过程中出现的错误等)。

2、 实验内容: 在上网时,我们经常会看到以下这种对话框,要用户输入一个验证码。

      要求根据RandomStr.java:使用类型转换生成六位验证字符串,示例程序每次运 行时,都会生成不同的字符串。实现上述用户输入验证码的功能。   

    (可以扩展如何实 现整个用户登录界面的设计和功能的实现(选做))。

(1)程序设计思想

本程序需要随机产生六个字母,之后输入字符串,与随机产生的字母判断是否相等,相等的话则正确,否则错误,则重新输出验证码,重新输入,直至相等。

(2)程序流程图

(3)源程序

package hello;
import javax.swing.JOptionPane;
public class Register {
    public static void main(String []args)
    {
        String loginName,password;
        loginName=JOptionPane.showInputDialog("登录名");
        password=JOptionPane.showInputDialog("密码");
        String result,in_auth;
        do
        {
        result = "";
        //定义一个空字符串
       //进行6次循环
        for(int i = 0 ; i < 6 ; i ++)
        {
        //生成一个97~122的int型的整数
        int intVal = (int)(Math.random() * 26 + 97);
        //将intValue强制转换为char后连接到result后面
        result = result + (char)intVal;
        }
        //输出随机字符串
        in_auth=JOptionPane.showInputDialog("验证码:"+result+"
请输入验证码");
        }while(!result.equals(in_auth));
        JOptionPane.showMessageDialog(null, "输入验证码正确","登录成功",JOptionPane.PLAIN_MESSAGE);        
    }
}

(4)实现结果截图

 

(5)实验总结

在本题中,学会随机数的产生,使用random函数,学会java中两个字符串的比较equals函数,本题只是初步完成验证码的产生,与登录界面完成相差甚远,登录界面实现需要java.awt.*包中的组件,在后面的随笔中会有实现与说明。

原文地址:https://www.cnblogs.com/watm/p/7634265.html