int n = (int) (Math.random() * 3 + 1);产生的整数随机数是0、1、2、3、4这5个数之中的某个数呢?还是0、1、2、3这4个数之中的某个数呢?

解决方案 »

  1.   

    api里写了:java.lang.Math.random() 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
    小于1.0所以4取不到,大于等于 0.0所以1能取到,0取不到
      

  2.   

    randompublic static double random()
    返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布看下这个你就明白了啊
      

  3.   

    好无聊的一个题,Math.random()返回的是小数,不会大于1,
    也就是说Math.random()*3的极限值是3 , +1后的极限值是4,所以得结果是1、2、3,
    楼主上过初中?

    有无聊的帮助验证下。
      

  4.   

    Math.random()是取大于等于0且小于1的随机数,知道这个答案就很明显了。。