一、程序设计思想:
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长)设置框图大小。