用Java随机生成一个从数组,要求从一个数组int [x] count中随机取出,每个元素大小是在1-X(id)以内,生成的目标数组要求内部元素不同,数组长度K个数可以传值控制,
把结果int [k] object打印出来;
比如
int [x] count={1,2,3,4,5,6,7,...,100000};要求输出int[k] object;

解决方案 »

  1.   

    比较简单写就是使用ListList count = initList();
    Collecionts.shuffle(count);
    List result = count.subList(0, k);
      

  2.   

    每个元素大小是在1-X(id)以内  count[99]<99 的 意思 ?
      

  3.   

    public class TestRandom
    {
    public static void paiXu(int a[])//定义一个数组,存放随机数是否出现
    {
    int i,j;
    for(i=0;i<a.length-1;i++)
    {
    for(j=0;j<a.length-1-i;j++)
    {
    if(a[j]>a[j+1])
    {
    int t=a[j];
    a[j]=a[j+1];
    a[j+1]=t;
    }
    }
    }
    }
    public static void main(String args[])
    {
    int a[]=new int[7];//盛放7个不同的随机数
    int flag[]=new int[31];//标志数组,标识随机数是否产生过,0没1有
    flag[0]=1;//0不能产生
    int r;
    for(int i=0;i<a.length;i++)
    {
    r=(int)(Math.random()*31);//产生一个0~30的随机数 
    //判断该随机数是否已产生过
    if(flag[r]==0)//r没产生过
    {
    a[i]=r;
    flag[r]=1;
    }
    else//r已产生过
    {
    i--;
    }

    }
    paiXu(a);
    for(int i=0;i<a.length;i++)
    {
    System.out.print(a[i]+"  ");
    }
    System.out.println();
    }
    }实现产生不重复随机数
      

  4.   

    学习了,我以前只知道随机数用Random()来实现的,不想这也那么有趣的
      

  5.   

    楼主语文成绩肯定不好,反正我是理解不了你的意思如果是想写n个a到b的随机数的话我半年前写个游戏刚好用到这样的哈
    先产生个随机数,然后判断它是不是和前面的任何一个相同,如果相同就重新产生,如果全部都不同就产生下一个
      

  6.   

    如果是上面的意思的话
        public List returnString() {        List al = new ArrayList();        Random r = new Random();        while (true) {            Integer random = new Integer(r.nextInt(21));            if (!al.contains(random)
                        && Integer.parseInt(random.toString()) != 0) {                al.add(random);                if (al.size() == 20) {
                        Collections.sort(al);
                        break;
                    }
                }
            }        return al;
        }
    就ok了
      

  7.   

    太感谢了,我运行能通过,谢谢!!============================================
    QDBEAR() xiaodidi_wa() ===========================================
    我语文很一般,你想说我表达不清就直接点咯,其实我是想了好久的,但是你们还是有点想歪了。晕啊!
      

  8.   

    不知道lz是不是这个意思
    import java.util.*;public class ReturnString
    {
    public static void main(String[] args)
    {
    Random rand=new Random();
    List al=new ArrayList();
    while(true)
    {
    Integer i=new Integer(rand.nextInt(21));
    if(!al.contains(i)&&(i.intValue()!=0))al.add(i);
    if(al.size()==20)break;
    }
    System.out.println(al);
    }
    }