JAVA取随机数

来源:百度知道 编辑:UC知道 时间:2024/06/24 07:04:51
想问问~利用Math.random方法取随机字符

(char)(cha1+Math.random()*(cha2-cha1+1));

为什么后面那里要加一...?

因为看不到代码,所以不知道具体问题

但是可以推测得到的是,原因在于Math.random()生成的是0(包括0)到1(不包括1)之间的浮点型随机数.

因此(char)(cha1+Math.random()*(cha2-cha1+1));的意思是生成cha1(包括cha1)到cha2(包括cha2)之间的字符.如果(cha2-cha1+1)中不加1则无法随机生成得到值等于cha2的字符.只会生成cha1(包括cha1)到cha2(不包括cha2)之间的字符..

因此需要+1...

希望有所帮助

加1表示随机的字符中可以出现cha2,如果不加1则只出现cha1到cha2-1的字符

Math.random()*cha表示从0到cha的随机数,但不包括cha和0。如果不加1,结果取到的是(cha1,cha2)这个开区间内的数,如果加1,取到的则是(cha1,cha2-cha1+1)之间的数。加不加1,要看题目的要求。