java的两种产生随机数[0-2]

图片上第一种方法会不会比第二种难产生0这个数字,第一种好像是double类型转成int型,第二种是直接产生0-2这三个随机数。求解????... 图片上第一种方法会不会比第二种难产生0这个数字,第一种好像是double类型转成int型,第二种是直接产生0-2这三个随机数。求解???? 展开
 我来答
microroom
科技发烧友

2017-08-20 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1644万
展开全部
方法一不能产生数值为2的随机数,只能产生数值为0,1的随机数。
Math的public static double random()方法返回一个double值,该值大于等于 0.0且小于1.0。
因此(int)(Math.random()*2);中Math.random()*2的值是一个随机的大于等于0,小于2的double型的小数,强制转换成int后只能产生数字0,1,不能产生2。
假设要产生[min,max]范围的整数,可以使用以下公式:
(int)(Math.random()*(max-min+1))+min;
因此,要产生[0,2]可以使用int computer=(int)(Math.random()*3);。
方法二可以。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式