1.先用个数组存放1-35个数,如
a[0]=1
a[1]=2
....
a[34]=352.在1-35随机产生一个下标,取得这个数,如30,则取313.将这个数从a中去除,留下34个数4.在1-34随机产生一个下标,取得这个数,如还是30,则取32以次类推,获得35个随机数,然后分成5组就可以了.

解决方案 »

  1.   

    <script language="JavaScript">
    <!--
    var flag=false;
    var quotes=new Array(7)
    var i=0;
    while(i<7)
     {
      quotes[i]=Math.floor(Math.random()*36)+1;
      for(j=0;j<i;j++)
       {
        if(quotes[i]==quotes[j])
         {
           quotes[i]=Math.floor(Math.random()*36)+1;
           j=0;
         }
       }
      document.write(i+1+". ");
      document.write(quotes[i]+"<br>");
      i++; 
     }
    //-->
    </script>
      

  2.   

    import java.util.Random;class GetRnd
    {
    public static void main(String[] args)
    {
    int a[]=new int[35];
    int b[]=new int[35];
    int ptr=0;
    int i=0;
    int j=0;
    float x=0f;

    int rnd[][]=new int[5][7];

    Random random = new Random();

    for(i=0;i<35;i++){
    a[i]=i;
    b[i]=0;
    }

    for(i=0;i<35;i++){
    x=random.nextFloat();
    ptr=(int)(x*(35-i)+1);
    b[i]=a[ptr];
    for(j=ptr;j<34;j++)  
    a[j]=a[j+1];

    }

    for(j=0;j<5;j++)
      {for(i=0;i<7;i++)
               {
                 rnd[j][i]=b[j*7+i];
                System.out.print(rnd[j][i]+"   ");                      
               }
                System.out.println("*******");  
              }
        } 
    }
      

  3.   

    方法提供,
    具体自己做,public static void main(String[] args) {
        Random random = new Random();    ArrayList list1 = new ArrayList();
        for (int i = 1; i <= 35; i++) {
            list1.add(String.valueOf(i));
            //System.out.println(i);
        }
        System.out.println("#############");
        ArrayList list2 = new ArrayList();
        int k = 1;
        while (list1.size() > 0) {
            String number = String.valueOf(random.nextInt(36));
            if (list1.remove(number) == true) {
                list2.add(String.valueOf(number));
                if (number.length() == 1)
                    number = " " + number;
                System.out.print(number + "     ");
                if (k == 7) {
                    k  = 0;
                    System.out.println("");
                }
                k++;
            }
        }}
      

  4.   

    //产生7个1-35之间的数,
    import java.util.Random;class pickup7of35
    {
    public static void main(String[] args)
    {
    int[] b=new int[35];
    int k=0;
    for(k=0;k<35;k++){
    b[k]=k+1;
    }
    Random random = new Random();
    for(int j=1;j<6;j++)
      {for(int i=0;i<7;i++)
               {
                 float x=random.nextFloat();
                int[] a=new int[7];
                int p=(int)(k*x);
                a[i]=b[p];
     int temp=b[p];
     for(;p<k;p++){
    b[p]=b[p+1];
     }
     b[k]=temp;
     k--;
                System.out.println(a[i]);                      
               }
                System.out.println("*******");  
              }
        } 
    }
      

  5.   

    定义一个Set对象(容量为35),每产生一个数,就放到此对象中,直到Set满为止
      

  6.   

    可以试试这个
                  public Random(long seed)参数seed为产生随机数的种子,种子不一样,产生的随机数也不一样,可以把上次产生的随机数作为下一个随机数的种子,这样就可避免重复.
      

  7.   


    import java.util.*;public class helloworld {
    helloworld() {
    } // itemCount为取值范围;arrayLength为所取元素个数
    public static int[] GetRandomArray(int beginNum, int endNum, int arrayLength) {
    int itemCount = endNum - beginNum + 1;
    int[] tmplist = new int[arrayLength];
    Random ran = new Random(System.currentTimeMillis());
    for (int i = 0; i < arrayLength; i++) {
    boolean flag;
    do {
    flag = false;
    int randomNum = ran.nextInt();
    if (randomNum < 0)
    randomNum += 0x7fffffff;
    randomNum %= itemCount;
    randomNum += beginNum; for (int j = 0; j < i; j++) {
    if (randomNum == tmplist[j]) {
    flag = true;
    break;
    }
    }
    if (flag == false)
    tmplist[i] = randomNum;
    } while (flag);
    }
    return tmplist;
    } public static void main(String[] args) {
    int[] array = helloworld.GetRandomArray(1, 35, 10);
    for (int i = 0; i < 10; i++)
    System.out.println(array[i]);
    }
    }
      

  8.   

    各位不要吓我 
    这个问题 JAVA核心技术卷1 里有原代码啊
    只需要几行代码 就搞定了
      

  9.   

    JAVA核心技术卷1中,具体在哪个部分??
      

  10.   

    w: for(int i=0;i<answer.length;i++)
       {
         answer[i]=(int)(Math.random()*36);  //保证不能与前边的数字重复     
         for(int j=i-1;j>=0;j--)                         
              {
        if(answer[i]==answer[j])
       {
         i--;
     continue w;
       }
     
       }