我有一个名为 Card 的类,并且有这个 for 循环:
int i;
for (i = 0; i < 13; i++) {
Card cardNameHere = new Card();
}
我想做的是基于 for 循环创建新实例。例如,我希望名称为 card1、card2、card3 等。数字将来自 for 循环。
我已经尝试过这个,但它似乎不起作用:
int i;
for (i = 0; i < 13; i++) {
Card card[i] = new Card();
}
谁能告诉我我做错了什么?
Thanks.
所以我正在使用 Hovercraft Full Of Eels 的解决方案,但我还有另一个问题。
我正在使用 cardList.add(new Card()); ,当我尝试使用 Card(i) 来设置名称时,java 不会让我这样做。在没有 i 的情况下使用它效果很好,但是我如何访问它以便我可以调用它的另一个方法,例如 setId。我想调用cardName.setId();
创建你的数组before循环,并填充它inside循环。不过最好使用 ArrayList。
List<Card> cardList = new ArrayList<Card>();
for (i = 0; i < MAX_CARD; i++) {
cardList.add(new Card());
// or new Card(i) as the case may be
}
如果您正在填写一副牌,并且您已经很好地创建了 Suit 和 Rank 枚举,那么:
List<Card> cardList = new ArrayList<Card>();
for (Suit suit: Suit.values()) {
for (Rank rank: Rank.values()) {
cardList.add(new Card(suit, rank));
}
}
Edit
您在评论中指出:
所以我使用 cardList.add(new Card()); ,当我尝试使用 Card(i) 来设置名称时,java 不会让我这样做。在没有 i 的情况下使用它效果很好,但是我如何访问它以便我可以调用它的另一个方法,例如 setId。我想调用cardName.setId();
Card(i)
没有意义,因为你不能将 Card 类视为一种方法——同样,我什至不知道该怎么做,你想在这里做什么。如果需要从 ArrayList 中提取 Card,则需要调用get(...)
ArrayList 上的方法,这里称为cardList
。更好的是在其构造函数中设置 Card 属性,如我在第二个代码片段中所示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)