关于Java中取随机的小写字母问题

name=(char)(int)Math.round(Math.random()*25+97);charc=(char)(int)(Math.random()*26+97... name = (char)(int)Math.round(Math.random() * 25 + 97);
char c=(char)(int)(Math.random() * 26 + 97;
为什么都能取到a-z。Math.random() * 25 是取0到25吗,Math.random() * 26 如果是0到26 就27个数了
(int)(Math.random() * 26
是向下取整吗,也就是娶不到26
展开
 我来答
wchyumo2011
2015-07-14 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2839万
展开全部
首先要知道Math.random()产生的数据范围是0到1,其中不包括1
Math.round的功能是把小数舍入到最近的整数,所以第一个能取到0-25
而第二个是强制类型转换,他是直接舍去小数部分,不管小数部分的值为多少,所以他实际上是取不到26的,所以两个能达到相同的效果
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式