1、程序设计思想
先定义一个空字符串code,再利用random从26-123中随机产生6个数,将其转换为char类型后依次接在code字符串之后,这样就能产生一个6位验证码。依照系统提示输入验证码,利用equals判断其与系统给出的验证码是否相同,若相同则验证成功,否则需再次输入验证码。
2、流程图
3、源程序
package 实验任务四;
import java.util.Random;
import javax.swing.JOptionPane;
public class Verification {
public static void main(String[] args) {
// TODO Auto-generated method stub
int t,i;
do {
String code=""; //定义一个空字符串
for(i=0;i<6;i++)
{int temp=(int)(Math.random()*26+97); //从26-123中随机产生一个数字
code=code+(char)temp;} //将随机数转换为char类型,并接在code字符串之后
String set=JOptionPane.showInputDialog("请输入验证码:"+code);
if(set.equals(code)) //判断输入的验证码是否正确
{JOptionPane.showMessageDialog(null, "验证成功");
t=1;}
else
{JOptionPane.showMessageDialog(null, "验证码有误,请重新输入");
t=2;}
}while(t!=1);
System.exit(0);
}
}
4、截图
5、总结
通过这题,我学会了如何用rangdom产生随机数。在判断输入的字符串与随机产生的字符串是否相等时,“code==set”并不能正确的判断,而应改用“set.equals(code)”