public void test2() {
int[] a = new int[50];
int size = 1;
point:
while(true) {
int b = (int)(Math.random()*100 + 1);
for(int i=0; i<size; i++) {
if(b == a[i]) {
continue point;
}
}
a[size-1] = b;
if(size == 50) {
break;
}
size ++ ;
}
Arrays.sort(a);
for(int i=0; i<50; i++) {
System.out.println(a[i]);
}
}

解决方案 »

  1.   

    package lotterproject;import java.io.PrintStream;
    import java.util.ArrayList;
    import java.util.HashMap;public class GenerateRandomNumer
    {    public GenerateRandomNumer()
        {
        }    public ArrayList returnRandaomDigit()
        {
            ArrayList RandomdigitList = new ArrayList();
            HashMap HP = new HashMap();
            for(int i = 0; i < 5; i++)
            {
                int Randomdigit = (int)(Math.random() * 50 + 1);
                RandomdigitList.add(Integer.valueOf(Randomdigit));
                System.out.println(Randomdigit);
            }        for(int j = 0; j < RandomdigitList.size(); j++)
            {
                HP.put(RandomdigitList.get(j), RandomdigitList.get(j));
            }        if(HP.size() > 4)
            {
                return RandomdigitList;
            } else
            {
                return returnRandaomDigit();
            }
        }    public ArrayList returnLastRandaomDigit()
        {
            ArrayList RandomdigitList = new ArrayList();
            HashMap HP = new HashMap();
            for(int i = 0; i < 2; i++)
            {
                int Randomdigit = (int)(Math.random() * 12 + 1);
                RandomdigitList.add(Integer.valueOf(Randomdigit));
                System.out.println(Randomdigit);
            }        for(int j = 0; j < RandomdigitList.size(); j++)
            {
                HP.put(RandomdigitList.get(j), RandomdigitList.get(j));
            }        if(HP.size() > 1)
            {
                return RandomdigitList;
            } else
            {
                return returnLastRandaomDigit();
            }
        }    public static void main(String args[])
        {
            GenerateRandomNumer n = new GenerateRandomNumer();
            System.out.println((new StringBuilder()).append("the  result is ").append(n.returnLastRandaomDigit()).toString());
        }
    }
      

  2.   

    int[] a = new int[50];
    for (int i = 0; i < a.length; i++) {
    a[i]=i;
    }
    for (int i = 0; i < a.length; i++) {
    int r = (int)(Math.random()*50);
    int t = a[0];
    a[0] = a[r];
    a[r] = t;
    }
      

  3.   

    package sort;import java.util.Arrays;public class T1 { public static void main(String[] args) {
    int temp;
    int[] arr = new int[50];
    int count = 0;
    do {
    temp = random();
    if (!check(arr, temp)) {
    arr[count] = temp;
    count++;
    }
    } while (count < 50);
    Arrays.sort(arr);
    for (int i = 0; i < arr.length; i++) {
    System.out.println("arr=" + arr[i]);
    }
    }

    public static int random() {
    return (int) (Math.random() * 100);
    }

    public static boolean check(int[] arr, int temp) {
    for (int i = 0; i < arr.length; i++) {
    if (arr[i] == temp) {
    return true;
    }
    }
    return false;
    }
    }
      

  4.   

    直接用TreeSet吧,可以自动把重复元素过滤掉代码量也少很多!性能好!
    public class TreeSetTest {
    public static void main(String[] args){
    Set<Integer> set = new TreeSet<Integer>();
    while(set.size()<50){
    set.add((int)(Math.random()*100));
    }
    for(int x : set){
    System.out.println(x);
    }
    System.out.println(set.size());
    }
    }