如何实例化12个类实例:传入1-6随机值且每个值恰好使用两次
解决方案:生成符合要求的Die实例列表
要实现生成12个Die实例(1-6每个点数恰好对应2个实例,且顺序随机),可以按以下步骤操作:
- 构建包含目标数值的基础列表:先创建一个列表,将1到6的每个数值各添加两次,确保每个点数的出现次数符合要求
- 打乱列表顺序:通过随机打乱操作模拟掷骰的随机结果
- 遍历列表创建实例:逐个使用列表中的数值初始化
Die对象
Java 代码示例
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class DieExample { static class Die { private int numside; public Die(int numSide) { this.numside = numSide; } // 可选:添加获取点数的方法,方便验证结果 public int getNumside() { return numside; } } public static void main(String[] args) { // 1. 构建包含1-6各两次的初始列表 List<Integer> diceValues = new ArrayList<>(); for (int i = 1; i <= 6; i++) { diceValues.add(i); diceValues.add(i); } // 2. 随机打乱列表顺序 Collections.shuffle(diceValues); // 3. 创建Die实例列表 List<Die> diceInstances = new ArrayList<>(); for (int value : diceValues) { diceInstances.add(new Die(value)); } // 验证结果(可选) for (Die die : diceInstances) { System.out.println(die.getNumside()); } } }
代码说明
- 初始列表构建:通过循环1到6,每个数值添加两次,严格保证1-6每个点数恰好出现两次
- 随机打乱:
Collections.shuffle()会随机重排列表元素,完全模拟掷骰的随机效果 - 实例创建:遍历打乱后的列表,每个数值对应创建一个
Die实例,最终得到12个符合要求的实例
内容的提问来源于stack exchange,提问作者qwertyboi
相关产品推荐
相关产品推荐

