Java一行代码使用ASCII码原理生成随机字符

原文地址: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 (转载请注明出处!)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值