我在android中创建“Jacks Or Better”游戏,因为我从52个数字列表生成5个随机数并将其存储到列表中现在我想将剩余的47个数字存储在其他列表中以便我可以再次从剩余数字列表中生成随机数。我做了以下代码,
Random rng = new Random();
List<Integer> generated = new ArrayList<Integer>();
for (int i = 0; i < 5; i++) {
while (true) {
Integer next = rng.nextInt(52);
if (!generated.contains(next)) {
generated.add(next);
openCards.add(CardArray.get(next));
break;
}
}
}
以上代码用于生成5个随机数并将其存储到列表中,但我没有任何方法将剩余的47个数字存储到其他列表中。 请帮帮我。
答案 0 :(得分:0)
您可能需要SecureRandom。
重新实现CardArray作为CardSet并在你“拉”卡片时将其移除。您可以将卡添加回集合,也可以在使用前简单地克隆CardSet,具体取决于您希望如何优化空间与计算。