要求根据RandomStr.java:使用类型转换生成六位验证字符串,示例程序每次运 行时,都会生成不同的字符串。
2017-10-06 17:47
766 查看
1.程序设计思想验证码
①定义一个字符串变量来保存随机生成的。
②利用循环产生六位随机数,在产生每一位时将其转换为char类型并写在字符串后面。
③利用对话框显示生成的验证码,并提示用户输入验证码。
④显示用户是否验证成功。
2.程序流程图
3.源程序代码
4.结果截图
5.实验总结
本题中的关键是对类型转换的把握,生成随机字符串的方法有很多,本题考查对RandomStr.java以及类型转换的使用。我在判断随机生成的字符串与用户输入的验证码是否一样时出错,我的代码为code==input,则出现无论输入什么验证码都会显示验证成功,后来经过查询,发现是判断时出错,因为在C++中直接判断就行,而在Java中要用到equals函数来判断。第二个错误则是粗心所致,我将input.equals(code)写成了input.equals(input),则出现无论输入什么验证码也都会显示验证成功。
除此之外,程序的一个缺点是只能产生全是小写字母或者全是大写字母,再或者全是数字组成的验证码,不能产生小写字母、大写字母、数字随机结合的验证码。
①定义一个字符串变量来保存随机生成的。
②利用循环产生六位随机数,在产生每一位时将其转换为char类型并写在字符串后面。
③利用对话框显示生成的验证码,并提示用户输入验证码。
④显示用户是否验证成功。
2.程序流程图
3.源程序代码
import java.util.Random; import javax.swing.JOptionPane; // import class JOptionPane public class VerificationCode { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub 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 ); } } }
4.结果截图
5.实验总结
本题中的关键是对类型转换的把握,生成随机字符串的方法有很多,本题考查对RandomStr.java以及类型转换的使用。我在判断随机生成的字符串与用户输入的验证码是否一样时出错,我的代码为code==input,则出现无论输入什么验证码都会显示验证成功,后来经过查询,发现是判断时出错,因为在C++中直接判断就行,而在Java中要用到equals函数来判断。第二个错误则是粗心所致,我将input.equals(code)写成了input.equals(input),则出现无论输入什么验证码也都会显示验证成功。
除此之外,程序的一个缺点是只能产生全是小写字母或者全是大写字母,再或者全是数字组成的验证码,不能产生小写字母、大写字母、数字随机结合的验证码。
相关文章推荐
- 使用Java设计验证码生成程序
- ETL工具kettle与JAVA结合使用程序生成转换
- Java中不同转换符实现不同数据类型到字符串的转换
- fastjson 使用 string字符串转换成java的各种类型
- 前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响应发送到客户端。前端控制器既可以使用Filter实现(Struts2采用这种方式),也可以使用Servlet来实现(spring MVC框架)。
- 使用java Random动态传递位数 生成指定位数的随机字符串-数字字母混合
- [SQL SERVER]使用 STR()函数将数值转换为字符串类型, 并避免指数形式
- 使用JAVA实现签名验证示例程序
- JAVA面试 不使用API情况下,把数字字符串转换成int类型
- java生成图片验证码示例程序
- Java - 注解使用示例(解析注解格式化类生成字符串)
- Java中不同转换符实现不同数据类型到字符串的转换
- Java之使用Integer类中的parseInt()方法将字符串转换为基本数据类型
- 如何使用QString把不同类型的数据如何转换成字符串形式输出
- 使用Java设计验证码生成程序
- java中把字符串类型转换为int型,不允许使用java内置方法,如parseInt等
- 生成二维码 加密解密类 TABLE转换成实体、TABLE转换成实体集合(可转换成对象和值类型) COOKIE帮助类 数据类型转换 截取字符串 根据IP获取地点 生成随机字符 UNIX时间转换为DATETIME\DATETIME转换为UNIXTIME 是否包含中文 生成秘钥方式之一 计算某一年 某一周 的起始时间和结束时间
- 如何用java实现不同编码方式字符串的转换(包含异常处理、重复不终止输入、缓冲区bufferedreader的使用)
- 在java程序中,使用sAMAccountName作为登录名通过LDAP目录库验证
- java 定时器的使用(Timer) 日期类型 转换