java 如何隨機生成(取出)一個數組中的一個數,並且一次取一個直到取
阿新 • • 發佈:2018-11-19
問題描述
我想得到的是特定數,可能不是連續的,而且 數是取出的。
程式碼
private static int[] randomCreate(int [] rands) {
int[] outArr = new int[rands.length];//創造一個用於接收的陣列
for (int i = 0; i < rands.length; i++) {
int temp = (int) (Math.random() * (8-i));// 生成隨機下標
outArr[i] = rands[temp];
rands = removeArrays (rands,temp);//將出現的刪除
}
return outArr;
}
private static int[] removeArrays(int[] a,int i) {
int [] newArray = new int[a.length-1]; //建立一個新陣列來代替原來的陣列
a[i] = a[a.length-1];//將陣列最後一個值賦給要刪除的值
newArray = Arrays.copyOf(a, a.length-1);//複製陣列除掉最後一個
return newArray;
}
分析程式碼
我們現在可以生成不連續的隨機數,甚至可以去掉我們的陣列中的元素。