gpt4 book ai didi

java - 通过遍历枚举来分配参数

转载 作者:行者123 更新时间:2023-11-29 04:52:02 25 4
gpt4 key购买 nike

我正在尝试创建一些 Card 对象并将其添加到包中。 Card 对象的花色和等级有枚举值,我真的在努力避免创建 52 个独特的对象——一次一个。我想通过遍历类的 Rank 枚举(Suits 也是一个枚举)来分配等级,如下所示:

for (Card.Ranks r: Card.Ranks.values())
{
theShoe.addItem(new Card(Card.Suits.Diamonds, Card.r.values()));
theShoe.addItem(new Card(Card.Suits.Hearts, Card.r.values()));
theShoe.addItem(new Card(Card.Suits.Spades, Card.r.values()));
theShoe.addItem(new Card(Card.Suits.Clubs, Card.r.values()));
}

Card 构造器如下所示:

public Card(Suits s, Ranks r)
{
suit = s;
rank = r;
}

但是肯定不行。 Eclipse 要求我在 Card 类中创建一个字段或常量“r”。 :/我还有另一种方法吗?我试过删除每行末尾的“.values()”,但这也不起作用。如果有人能帮助我理解我做错了什么并且我能以某种方式解决它,我将不胜感激。谢谢!

最佳答案

根据您的构造函数,传递一个Suit 和一个Rank。类似的东西,

for (Card.Ranks r : Card.Ranks.values()) {
for (Card.Suit s : Card.Suit.values()) { // <-- also loop over the Suits
theShoe.addItem(new Card(s, r));
}
}

for (Card.Suit s : Card.Suit.values()) { 
for (Card.Ranks r : Card.Ranks.values()) {
theShoe.addItem(new Card(s, r));
}
}

关于java - 通过遍历枚举来分配参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35110144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com