怎么没人回复呀?难道是问题太简单了?其实我是在做一个考试系统,题目要随机抽取,我的思路是使用Random类,但是这样的效率如何?还望高手们指点一二呀,小弟在这里先行谢过!!

解决方案 »

  1.   

    我的想法也是用java中的random类来做!
      

  2.   

    既然数组中的数是唯一的就没有问题了!
    int[99] value=...
    int[] 数组下标=new int[10];
    for(int i=0;i<10;i++){
     数组下标=Random.nextInt(99);
    }
    然后不就可以了达成目的??
    不过这样产生的数组下标还是要进行合法性检查。
      

  3.   

    用HashSet就行。
    伪代码如下:
    HashSet hs = new HashSet();
    for(int i=0;hs.length<10;i++){
     hs.put(Random.nextInt(100));
    }
      

  4.   

    谢谢大家,其实问题在提问前我就解决了,只不过我想看看大家有没有效率更高的方法或其他比较新颖的方法,不过:
    HashSet hs = new HashSet();
    for(int i=0;hs.length<10;i++){
     hs.put(Random.nextInt(100));
    }
    这些代码是有问题的,应该这样
    HashSet hs=new HashSet();
    int count=0;
    while(count<10)
    {
      Integer index=new Integer(Random.nextInt(100));
      if(hs.add(index))
       count++;
    }
    不过还是要谢谢henry771885