-3
我想創建一個函數,在數組中選取一個隨機數並避免在下次選擇相同的數字。
這是我的代碼(它工作在某個時間,大部分是循環)
請幫助我,謝謝。挑選一個數組中的數字,並避免選擇相同的數字?
private static int pick(int[] x) {
int upperbound = x[x.length-1];
int lowerbound = x[0];
int count=0;
int ranvalue;
int ranindex;
Random rand = new Random();
do{
ranindex = rand.nextInt(upperbound-lowerbound) + lowerbound;
count++;
}while(x[ranindex]==-1||count!=x.length-1);
ranvalue=x[ranindex];
x[ranindex]=-1;
return ranvalue;
}
它看起來對我來說,你的代碼只有真正嘗試選擇一個號碼,它只是不斷重複,只要它是一個無效的數字。 –
如果您只想避免連續兩次選取相同的號碼,您可以跟蹤您以前的號碼。如果你想避免重複選擇,你可以考慮從你的數組(或鏈表)中刪除你的值, –