我正在尝试在控制台上使用Java制作二十一点游戏。我正处于决定每个回合有多少人参加的阶段。在每个回合开始之前,控制台会要求用户键入将在此回合中玩多少个玩家,并创建与该号码相对应的玩家对象。限制是从0到5。我需要弄清楚如何根据输入来创建1〜5个Player对象。您将如何在Java中动态创建对象的实例?我知道您可以执行switch语句,但是想知道是否还有另一种方法。
如果new Player()
在循环中执行,它将生成与执行循环一样多的实例。在您的情况下,问题很可能不是如何实际生成播放器,而是如何修改播放器以供以后使用。您可以通过将它们存储在集合或数组中来做到这一点:
List<Player> players = new ArrayList<>();
for(int i=0;i<number;i++) {
players.add(new Player(i));
}
在这种情况下,我生成number
的播放器数量将与实际数量一样,并将实际数字传递给Player实例的构造函数。
如果您确实想生成不同类的实例(例如全部实现Player接口的实例),则必须对此进行硬编码(例如您提到的switch语句)或进行反射。在后一种情况下,您需要一个实际类名的数组/集合,或者是一个如何生成它们的规则。但是我真的认为让同一个班级的所有球员成为前进之路。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句