读书人

由Java挟制类型转换的实例所想到的

发布时间: 2012-10-09 10:21:45 作者: rapoo

由Java强制类型转换的实例所想到的

?

??? 在学习Java的数据类型时曾发现int型可以直接强制转换成为char型。这个样子我们是不是可以利用random的伪随机数来生成一个网页上的英文验证码呢?


??? 首先查询JavaDOC关于int型和char型的转换机制,发现int中的97~122的ASICS编码对应char中的a~z的小写字母。所以,基于此,我们可以这样子来生成一个六位验证码。
?
设计强制类型转换的实例如下:

?

???? 进行测试,成功输出6位的英文字符串,测试成功喽。
?
??? 基于此,俺不由得玩心胜起。一个验证码怎么只有生成没有验证呢?所以我们再来个验证。
?
??? 应用了循环嵌套+分支后设计代码如下:

?

?

??? 运行测试,可以生成6位的验证码,并且可以比较你的输入是否正确,如果错误就会一直验证下去。
?
??? 可是我还是觉得这个程序不够完美,为什么呢?因为它从头到尾都是纯文字的,没有图形化的输入。而且 ,一般验证码的验证是有错误次数限制的,一般为三次。所以,在闲的无聊的情况下我们可以将它图形化。
?
??? 怎么图形化呢?查询API后发现这个就得使用Swing框架进行编程,我们引入javax.swing.JOptionPane包。使用它来实现图形化。设计代码如下:

?至于怎么使用这个类,我们可以编写一个驱动类来调用:
?
??? 学习心得:一个简单的强制类型转换的实例玩出这么多的花样,这个本来也是我所没有想到的。但是这样也体现出了程序世界的精彩。同时,此次实践最关键的是API文档的查询。一切基础就是JavaDOC,通过它我们找到各种类库,和它们提供的方法,以此来实现我们的编程。当然程序的各种判定也体现了Java这种面向对象编程语言在“类”这个结构下面的结构化编程,分支循环的利用可以使你的程序更加人性化、健壮。

?

最后我要小小的吐槽一下,ITeye的日志编辑器编辑代码真的很蛋疼!

读书人网 >编程

热点推荐