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 ); } } } |
不会随机生成六个字符,通过上网查询,选择采用随机生成六个数字,再将其转化为对应的字符
存在的问题:
- 只能产生全是小写字母或者全是大写字母,再或者全是数字组成的验证码,不能产生小写字母、大写字母、数字随机结合
- 当输入错误后,不能让用户循环输入