根据RandomStr.java:使用类型转换生成六位验证字符串。

一、程序设计思想:

1.for循环产生六个字符密码,每一个随机字符密码通过char进行Math.Random()的转换。

2.构建输入输出窗体,设置提示信息。

3.通过do_while结构使得程序正常运行,在验证错误时,再次验证。

二、程序流程图:

 

三、源程序:

package Login;

import java.awt.*;

import javax.swing.*;       

 

public class Login {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

       

        ////生成验证码

        //定义一个空字符串

        String result = "";

        //进行6次循环

        int flag=0;

        do {

            for(int i = 0 ; i < 6 ; i ++)

            {

                //生成一个97~122的int型的整数

                int intVal = (int)(Math.random() * 26 + 97);

                //将intValue强制转换为char后连接到result后面

                result = result + (char)intVal;

            }

            //显示验证码,并提示用户输入验证码

             String input=JOptionPane.showInputDialog(result+" 请输入验证码:");

            if(input.equals(result))//判断验证码是否正确

            {

                JOptionPane.showMessageDialog(null,"验证码正确,验证成功!",

                      "Results",JOptionPane.PLAIN_MESSAGE );

                flag=1;

            }

            else

            {

                JOptionPane.showMessageDialog(null,"验证码错误,请再次验证!",

                      "Results",JOptionPane.PLAIN_MESSAGE );

            }

        }while(flag==0);

四、实现结果截图: 

        

(以此反复验证直至正确为止)

    

(验证成功,程序停止运行。)

五、实验总结:

1.通过本次验证码的实现,再次学会使用Math.Random()产生随机数,并且再将其进行类型转换,通过for循环产生六位字符验证码。

2.可以实现弹出界面,并且可以定义类,通过类.size(int宽,int长)设置框图大小。

原文地址:https://www.cnblogs.com/somedayLi/p/7636385.html