5

我生成一个随机数 0 或 1

int randomColor = (Math.random() < 0.5) ? 0 : 1;

我需要创建 52 个随机数,其中 26 个是 0,26 个是 1

4

2 回答 2

17

你可以这样做:创建一个List52 个数字。用 26 个 0 和 26 个 1 填充它,然后用Collections.shuffle()随机顺序将它们洗牌。

List<Integer> numbers = new ArrayList<>();

for (int i = 0; i < 26; i++) {
    numbers.add(0);
    numbers.add(1);
}

Collections.shuffle(numbers);
于 2013-03-28T06:05:47.017 回答
2

整个Collections.shuffle(list)过程只需 3 行代码:

List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 52; i++) list.add(i % 2);
Collections.shuffle(list);

瞧!

于 2013-03-28T06:11:42.333 回答