【发布时间】:2013-03-28 06:03:24
【问题描述】:
我生成一个随机数0或1
int randomColor = (Math.random() < 0.5) ? 0 : 1;
我需要创建 52 个随机数,其中 26 个是 0,26 个是 1
【问题讨论】:
-
这听起来不太随意......
我生成一个随机数0或1
int randomColor = (Math.random() < 0.5) ? 0 : 1;
我需要创建 52 个随机数,其中 26 个是 0,26 个是 1
【问题讨论】:
您可以这样做:创建一个包含 52 个数字的 List。用 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);
【讨论】:
使用Collections.shuffle(list),只需 3 行代码即可完成整个操作:
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 52; i++) list.add(i % 2);
Collections.shuffle(list);
瞧!
【讨论】: