0
我試圖從異常數組中選取一個隨機元素。從異常數組中挑選一個隨機元素
例如,假設我有一個長度爲10的布爾數組,其中2個在隨機索引處設置爲true。我如何選擇一個隨機的假布爾值並將其設置爲true?
我希望這不是太模糊,英語不是我的第一語言。
我試圖從異常數組中選取一個隨機元素。從異常數組中挑選一個隨機元素
例如,假設我有一個長度爲10的布爾數組,其中2個在隨機索引處設置爲true。我如何選擇一個隨機的假布爾值並將其設置爲true?
我希望這不是太模糊,英語不是我的第一語言。
有很多方法可以做到這一點。發生在我的兩個主要途徑:
你可以使用一個while循環拿起一個隨機指數,直到它發現一個是假的:
boolean[] array = {false, true, false};
int index = int(random(array.length));
while(array[index]){
index = int(random(array.length));
}
或者你可以創建一個新的數組(或ArrayList中)只是都是假的指標,然後隨機從這個數組挑:
boolean[] array = {false, true, false};
ArrayList<Integer> indexes = new ArrayList<Integer>();
for(int i = 0; i < array.length; i++){
if(!array[i]){
indexes.add(i);
}
}
int index = indexes.get(int(random(indexes.size())));
請注意,你已經與processing標籤標記你的問題,所以我在這裏使用處理語法。但是這些方法在一般意義上也是有效的。
謝謝,這應該幫助我! – SuperNewb