除了 one 元素外,我如何从数组列表中选择随机元素? 这是我的数组列表:
ArrayList <String> provinces = new ArrayList();
Collections.addAll(
provinces,
"New Brunswick",
"Saskatchewan",
"Ontario",
"Nova Scotia",
"Quebec",
"Alberta");
对于这个例子,我想随机选择其他元素,除了萨斯喀彻温省。
我试过:
for(int i == provinces.get (0); i < provinces.get(1); i > provinces.get(2); i < provinces.get(5)) {
int getPossibleAnswers = (int) Math.floor(Math.random()*i);
String displayPossibleAnswers = provinces.get(getPossibleAnswers);
outputAnswers.append(displayPossibleAnswers + "\n");
}
显然,这段代码不起作用,我不知道该怎么做。 提前致谢!
最佳答案
构建所有索引值的列表,除了萨斯喀彻温省的索引,然后将其打乱。
List<String> provinces = Arrays.asList("New Brunswick", "Saskatchewan", "Ontario", "Nova Scotia", "Quebec", "Alberta");
List<Integer> indexes = new ArrayList<>();
for (int i = 0; i < provinces.size(); i++)
if (! provinces.get(i).equals("Saskatchewan"))
indexes.add(i);
Collections.shuffle(indexes);
StringBuilder outputAnswers = new StringBuilder();
for (int i : indexes)
outputAnswers.append(provinces.get(i) + "\n");
System.out.print(outputAnswers);
示例输出
Nova Scotia
Quebec
Ontario
Alberta
New Brunswick
关于java - 从数组列表中选择多个/随机元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44441703/