为什么用如下代码产生的整数a和b的最后一位总是相等呢??RANDOM的原理到底是什么啊?
import java.util.*;
public class RandomTest
{
public static void main(String[] args)
{
Random num1 = new Random();
Random num2 = new Random();

int a = num1.nextInt(10);
int b = num2.nextInt(100);

System.out.println(a);
System.out.println(b);
}
}

解决方案 »

  1.   

    这个问题很奇怪,可能和当初设计的算法有关系。你可换用math的random方法试试。
      

  2.   

    真神奇!!嘿嘿,util包中的Ramdom类可以用来生成随机数,但是java.lang.Math中也有random()方法,可以生成随机数,但是只能生成0.0到1.0之间的double型的
      

  3.   

    想了解更多的基础理论中的原理,来听视频:绝对PK所有。
    http://eit.ittao.net/itOnline/inf/announceIndex.jsp
    ftp下载:
    210.51.162.7
    user:ittao.net
    password:ittao.net
      

  4.   

    结果不一样啊,我试过了,结果不一样了啊,存在可能会有相同的可能,但是不是每次都是啊
    可能是你的编译器的原因,用JKD1.5版试试吧
      

  5.   

    刚试过如果换用java.lang.Math中的random()方法的时候是不一样的,不过为什么java.util.*中的random()会让个位数相等呢????