Java—如何使用另一个设置值的类的构造函数创建数组列表
我正在尝试添加一个完整的卡片列表。我正在尝试使用数组列表的cards构造函数添加“cards”,我想输入西装和号码 在“卡片”类中: “甲板”级:Java—如何使用另一个设置值的类的构造函数创建数组列表,java,Java,我正在尝试添加一个完整的卡片列表。我正在尝试使用数组列表的cards构造函数添加“cards”,我想输入西装和号码 在“卡片”类中: “甲板”级: Deck(){ ArrayList卡=新的ArrayList(52); 对于(int i=0;i您需要使用Suit.SPADES而不仅仅是SPADES。您必须在卡片前使用新关键字,即 new Card(...) 您可以在枚举中使用嵌套for循环 for (Suit suit : Suit.values()) { for (int i = 1;
Deck(){
ArrayList卡=新的ArrayList(52);
对于(int i=0;i您需要使用Suit.SPADES
而不仅仅是SPADES
。您必须在卡片前使用新关键字,即
new Card(...)
您可以在枚举中使用嵌套for循环
for (Suit suit : Suit.values()) {
for (int i = 1; i <= 13; i++) {
cards.add(new Card(suit, i));
}
}
for(Suit:Suit.values()){
对于(int i=1;i
使用new
关键字调用构造函数
假设SPADES
位于枚举中,则必须使用Suit.SPADES
访问它,而不仅仅是SPADES
您可能会有可见性问题(尽管如果这两个类在同一个包中,您应该会很好),因此您可能希望将其设置为公共卡(套装,int-rank)
和公共卡组()
。这可能不是必需的,但这是一个好主意
要更正您的Deck
课程,请执行以下操作:
public Deck(){
ArrayList cards = new ArrayList(52);
for (int i=0; i<=13; i++){
cards.add(new Card(Suit.SPADES,i));
}
}
public Deck(){
ArrayList卡=新的ArrayList(52);
for(int i=0;i这里是实际定义的黑桃(asint
)?您是否有Enum
或static final int
变量?@PM77-1我假设它是一个Enum,因为card的构造函数采用Suit
。但是我不能确定。另外,更好的方法不是使用raw
类型,而是使用ArrayList cards=ArrayList(52);
for (Suit suit : Suit.values()) {
for (int i = 1; i <= 13; i++) {
cards.add(new Card(suit, i));
}
}
public Deck(){
ArrayList cards = new ArrayList(52);
for (int i=0; i<=13; i++){
cards.add(new Card(Suit.SPADES,i));
}
}