关于Java里产生1-6随机数的方法

一种是(int)(Math.random()*10)%6+1另一种(int)(Math.random()*6)+1这两种方法都可以产生1-6的随机数,但是问题在于产生1-... 一种是 (int)(Math.random()*10)%6+1另一种 (int)(Math.random()*6)+1 这两种方法都可以产生1-6的随机数,但是问题在于产生1-6的几率是否相等。第一种感觉是不相等的,第二种感觉是相等 高手来分析下 展开
 我来答
匿名用户
2013-09-21
展开全部
用java.util.Random 类比较好用Random r=new Random();int i=r.nextInt(6)+1;生成1到6的数字应该机率比较相等;(int)(Math.random()*10)%6+1产生0到9内的整数再 得到1,2,3,4的概率大些因为(int)(Math.random()*10)%得到的数是从0到9;0%6+1=1.。。。。。。5%6+1=6……6%6+1=1.。。。。9%6+1=4;所以不相等另一种 (int)(Math.random()*6)+1从0.1到0.9 *6得到数是int型是0,1,1,2,3,3,4,4,5,+
匿名用户
2013-09-21
展开全部
我认为2种方法产生的1~6的几率是相等的,都为1/6.第一种(int)(Math.random()*10)%6得到0~6的随机数,每个数的产生的概率为1/7,再加上1,得到1~6的随机数,0不再出现,每个数产生的几率1/6.另一种(int)(Math.random()*6)产生0~5,每个数产生的概率为1/6,再加上1,得到1~6的随机数,每个数产生的几率仍为1/6.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
曹晓山11
推荐于2017-09-28 · 知道合伙人互联网行家
曹晓山11
知道合伙人互联网行家
采纳数:3033 获赞数:52066
毕业南阳理工学院计算机科学与技术专业,本科学位。互联网行业从业3年工作经验,读过编程类相关书籍多本。

向TA提问 私信TA
展开全部

Java语言可以通过Random类的对象来实现1-6随机数的生成方法,代码如下:

import java.util.Random;
public class Radom{
    public static void main(String[] strs){
        Random rand = new Random();
        System.out.println(rand.nextInt(5)+1);
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-21
展开全部
Math类的方法fandom随机生成一个0.0到1.0(不含1.0)之间的double值 (int)(Math.random()*10)产生0到9内的整数再 %6 确实可以得到 1~6的随机数,但是 7 8 9 %6 一样得到 1 2 3 ,是不是1 2 3 得到的几率会大一些些呢?呵呵(int)(Math.random()*6)产生0到5内的整数,。。。你可以设计一个小程序来试验,发现它的六个数出现的几率是差不多的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-21
展开全部
math.random 产生的是什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式