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