在学习JAVA中碰到几个问题,希望JAVA高手帮忙解决下,先谢谢了!!

问题一:随即生成a~z之间的字符代码:(char)('a'+Math.random()*('z'-'a'+1)’)为什么要加1呢?这里不是很明白问题二:Math.roun... 问题一:随即生成a~z之间的字符代码:(char)('a'+Math.random()*('z'-'a'+1)’)为什么要加1呢?这里不是很明白
问题二:Math.round(3.4f)的意思不是把3.4加上0.5取值最接近的整数吗?为啥运行后是3而不是4呢?
问题三:
public static void main(String[] args){
Boolean b2 =new Boolean("ok")
System.out.println(b2.booleanValue());
}这个运行完是错误的,返回false,不应该是ture么?这个“ok”不是String变量吗?在String变量不为null且忽略大小写时等于ture的啊!!为啥返回值是false呢?
问题四:s+=b[i]是不是等于s=s+b[i]?
求大神帮忙解决这四个问题,谢谢了,新手见谅,刚开始学!
展开
 我来答
一壶笑谈
2014-08-10 · 超过35用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:34.2万
展开全部
问题一:Math.random()*10,产生的是0到9,要想产生0到10的数,就应该Math.random()*11,在 你的代码中,z-a等于25,Math.random()*25,产生的是0到24,所以应该加上1;
问题二:Math.round(-11.5)的结果为-11.Math.round( )符合这样的规律:小数点后大于5全部加, 等于5正数加,小于5全不加。也就是常说的四舍五入;
问题三:new Boolean("true")会产生true,其他字符串都会赋值false;
问题四:你的理解是对的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式