`
stillhere
  • 浏览: 14982 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

Java一句话使用ASCII码原理生成随机字符

    博客分类:
  • Java
阅读更多

原文地址:http://www.yonglives.com/archives/665.html

原文作者:Yong (转载请注明出处!)

Java开发过程中常常需要随机生成字符或字符串,方法有很多,使用ASCII码生成随机字符就是一种较为高效简单的方法,下面就来说说随机生成a~z之间字符的一种方法。

核心代码:

char c = (char) (int) (Math.random() * 26 + 97); 


代码解读:
在ASCII码表中,a~z对应的ASCII码为97~122,也就是说int(整型)类型值“97”对应的char(字符型)类型值就是字符“a”,知道这个原理就好办了,我们只需随机生成int型97~122(含97、122)之间的数值并转换成char类型就能得到对应的字符了,随机生成97~122之间的数值方法有很多,你可以创建一个Random对象,或者用更简单的方法:Math.random()。

Math.random()会返回一个大于等于0且小于1的double型数值,这样我们就可以使用(int) (Math.random() * 26 + 97)得到97~122之间的随机整型数值了。

代码扩展:
稍加扩展我们就能得到任意长度的字符串了,比如我们想随机生成一个长度为5的密匙,一个for循环就搞定了:

String pw = ""; 
for (int i = 0; i < 5; i++) 
{ 
char c = (char) (int) (Math.random() * 26 + 97); 
str += c; 
} 
System.out.println(str); 

 
原文地址:http://www.yonglives.com/archives/665.html

原文作者:Yong (转载请注明出处!)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics