利用隨機函式建立一個不重複的陣列
import java.util.Random; //匯入的隨機函式類
public class RandomTest {
public static void main(String[] args) {
Random random = new Random(); //隨機函式Random
int[] arr = new int[10]; //生成10個不重複的隨機數
int index = 0; //用來記錄陣列下標
while(index < arr.length) { //用作迴圈結束判斷條件
int num = random.nextInt(11); //隨機生成一個1~10之間的數,在此只能夠給定一個大於等於陣列長度的隨機數,否則該陣列永遠填不滿,程式便會進入死迴圈
if (!RandomTest.contains(arr, num)) { //呼叫靜態方法驗證陣列中是否存在這個數
//如果陣列中不存在該數,則將該數新增至陣列 index++ 位置
arr[index++] = num;
}
}
for (int i = 0; i < arr.length; i++) { //氣泡排序
for (int j = arr.length - 1; j > i; j--) {
if (arr[j - 1] > arr[j]) {
int temp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = temp;
}
}
}
for (int i : arr) { //foreach迴圈遍歷陣列列印輸出
System.out.print(i + " ");
}
}
public static boolean contains(int[] arr, int key) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == key) { //如果該數在陣列中已經存在則直接返回true
return true;
}
}
return false;
}
}