1. 程式人生 > >Java演算法 從一個數組中隨機選擇一部分數

Java演算法 從一個數組中隨機選擇一部分數

public int[] getRandomFromArray(int[] array, int count) {
    // ArrayList<Integer>arrayList =null;
    int[] a = array;
    int[] result = new int[count];
    boolean r[] = new boolean[array.length];
    Random random = new Random();
    int m = count; // 要隨機取的元素個數
    if (m > a.length || m < 0)
        return a;
    int n = 0;
    while (true) {
        int temp = random.nextInt(a.length);
        if (!r[temp]) {
            if (n == m) // 取到足量隨機數後退出迴圈
                break;
            n++;
            System.out.println("得到的第" + n + "個隨機數為:" + a[temp]);
            result[n - 1] = a[temp];
            r[temp] = true;
        }
    }
    return result;
}