本帖最后由 wlianghe00 于 2011-07-30 21:44:25 编辑

解决方案 »

  1.   

    baidu一下    有专门摇号程序
      

  2.   

    Random的时候,给个参数,比如时间
      

  3.   


    用一个数组存储随机数,每次产生一个随机数就要和数组里的每个元素比较,若有重复,则重新产生(注意,这儿产生了一个随机数,也要和数组中的每个元素比较)大概像这样:
      
      int num;
      int numbers = new int[7];  for(int i = 0;i < 7; i++)
     {
        num = Math.random() + 36;
        for(int j = 0; j < i; j++)
        {
          while(num == numbers[j])
            num = Math.ranodm() + 36;
          j = -1;                         
        }
        numbers[i] = num;
      }
             
      

  4.   


    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    import java.util.Random;public class Homework2 {

    public static final int SUM = 35;//总共的数
    public static final int NUM = 7;//选的号的个数

    public static void main(String[] args) {
    //定义一个集合,用来保存35个数,下面选择的时候就从这里面选择,选完后把这次选的从集合中删除,这样就不会重复了。 
    List<Integer> list = new ArrayList<Integer>();
    for(int i=0; i<SUM; i++) {
    list.add(i+1);
    }

    //定义一个集合来保存结果
    List<Integer> result = new ArrayList<Integer>();

    //开始摇号
    Random random = new Random();
    int num;
    for(int i=0; i<NUM; i++) {
    num = list.remove(random.nextInt(list.size()));//摇出一个号,然后从list中删除该号
    result.add(num);
    }

    //对摇号的结果排序,然后打印摇号的结果
    Collections.sort(result);
    System.out.println(result);
    }
    }