2020年10月6日Java学习日记

用RandomStr.java:使用类型转换生成六位验证字符串。每次运行时,都会生成不同的字符串

 

思想:


(1)定义一个字符串变量来存储要生成的验证码

(2)随机生成六个字符,每产生一个就将其放在字符串后面

(3)弹出对话框

(4)判断用户输入的验证码是否与随机生成的验证码相同

 

import java.util.Random;
import javax.swing.JOptionPane;  // import class JOptionPane
public class VerificationCode {
 
    public static void main(String[] args) {
        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+"\n"+"请输入验证码:");//显示验证码,并提示用户输入验证码
        if(input.equals(code))//判断验证码是否正确
        {
            JOptionPane.showMessageDialog(null,"验证码正确,验证成功!","Results",JOptionPane.PLAIN_MESSAGE );
        }
        else
        {
            JOptionPane.showMessageDialog(null,"验证码错误,验证失败!","Results",JOptionPane.PLAIN_MESSAGE );
        }
    }
 
}

 

 

 

 

 

 

 

 

不会随机生成六个字符,通过上网查询,选择采用随机生成六个数字,再将其转化为对应的字符

 

存在的问题:

  • 只能产生全是小写字母或者全是大写字母,再或者全是数字组成的验证码,不能产生小写字母、大写字母、数字随机结合
  •  当输入错误后,不能让用户循环输入

参考:使用类型转换生成六位验证字符串

posted @ 2020-10-06 01:16  Zwyooo  阅读(82)  评论(0编辑  收藏  举报