代码如下:
Random r5 = new Random(System.currentTimeMillis());
      String array[] = new String[6];
      String strred = null;
      
      for (int i = 0; i < 6; i++) {
        strred = String.valueOf(r5.nextInt(33));
        
        if(strred.equals("0")){
          strred = String.valueOf(r5.nextInt(33));
        }
        
        array[i] = strred;
        
          
      }
      
      for(int j = 0; j<array.length; j++){
        int min = j; 
        for(int k = j; k < array.length; k++) {
                if (Integer.parseInt(array[k]) < Integer.parseInt(array[min])) {
                  min = k;
                }
        }
          
          String tmp;
          tmp = array[j];
          array[j] = array[min];
          array[min] = tmp;
                   if(array[j].length()==1){
             array[j] = "0" + array[j];
             String ss = array[j];
           }
           if(j!=5)
          s.append(array[j] + ",");
        else{
          s.append(array[j]+" ");
        }    }望高手指教,如何才能解决数字重复问题

解决方案 »

  1.   

    import java.util.*;
    public class LotteryArray { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int[] Lottery=new int[33];
    int n=Lottery.length;
    int [] result=new int[6];//redBall
    for(int i=0;i<Lottery.length;i++)
    Lottery[i]=i+1;

    for(int i=0;i<result.length;i++)
    {
    Random random=new Random();
    int num=random.nextInt(n);
    result[i]=Lottery[num];
    Lottery[num]=Lottery[n-1];
    n--;
    }
    Arrays.sort(result);
    int blueBall=(new Random()).nextInt(16)+1;

    for(int i=0;i<result.length;i++)
    System.out.println(result[i]);
    System.out.println(blueBall); }}
      

  2.   

    ArrayList<Integer> redAl = null;
    ArrayList<Integer> blueAl = null;

    redAl = new ArrayList<Integer>();
    blueAl = new ArrayList<Integer>();
    for (int i = 1; i < 34; i++) {
    redAl.add(new Integer(i));
    }
    for (int i = 1; i < 17; i++) {
    blueAl.add(new Integer(i));
    }
    Collections.shuffle(redAl);
    Collections.shuffle(blueAl); List<Integer> red = redAl.subList(0, 6);
    Collections.sort(red); for (int i = 0; i < 5; i++) {

    if(red.get(i)<10){
    System.out.print("0" + red.get(i) + ",");
    }else{
    System.out.print(red.get(i) + ",");
    }
    } if(red.get(5)<10){
    System.out.print("0" + red.get(5) + "  ");
    }else{
    System.out.print(red.get(5) + "  ");
    }

    if(blueAl.get(0)<10){
    System.out.println("0" + blueAl.get(0));
    }else{
    System.out.println(blueAl.get(0));
    }
    }
      

  3.   

    没那么复杂,产生的数字放到set里就可以了,永远不可能重复
      

  4.   

    请问楼上的大虾,set是什么东西?