要求能从一个数组中取出不固定的值,每次都是随机产生,但子数组内不能有重复的数据!

解决方案 »

  1.   

    //如果数组为 iRandom r = new Random(i.length);//随机取出其中一个j = i[r.nextInt()];//再在子组里面看有没有,如果有,重新取。
      

  2.   

    //假设子数组为s
    for(int i=0;i<s.length;i++){
      if(s[i]==j)
        return true;
      else return false;
    }
      

  3.   


    String[] farther={1,2,3,4,5,6,7,8,9,0,................};
    String[] son;
    Random r=new Random();
    int j;
    int k=0;
    int record;
    int flag;//设置你想要从父数组中取出多少个随机值
    for(int i=farther.length;i>1;i--){
    j=r.nextInt(i);//父数组中随机一个索引son[k++]=farther[j];//将这个数放入子数组record=farther[j];//将已放入子数组的值放到父数组后面,防止子数组值重复
    farther[j]=farther[i];
    farther[i]=record;if(k==flag){
    break;
    }
    }