gpt4 book ai didi

java - 当尝试使用枚举中的值初始化它时,我有一个空的数组列表

转载 作者:行者123 更新时间:2023-12-02 10:40:35 26 4
gpt4 key购买 nike

我有一个 Card 类,其中包含来自枚举文件的字段suit和value,我想初始化Card的数组列表,card具有诸如suit和value之类的字段,但最终a有一个空列表,似乎初始化时出现问题在牌组类中使用这些 for 循环,但我不知道如何正确使用枚举中的值,我只是不想在列表中一张又一张地添加卡片,而是用循环来制作它,(如何正确初始化数组列表)

public enum Suits {
HEART, DIAMOND, CLUB, SPADE;

}
public enum ValuesOfCards {
SEVEN,EIGHT,NINE,TENTH,JACK,QUEEN,KING,ACE;

}


public class Card {
public static String mast;
private static int points;
private Suits suit;
private ValuesOfCards vof;


public Card( Suits suit, ValuesOfCards vof) {

this.suit = suit;
this.vof = vof;
}

@Override
public String toString() {
return "Card{" +
"suit=" + suit +
", vof=" + vof +
'}';
}
}


import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;


public class Deck {
private ArrayList<Card> deckOfCards;


public Deck() {
this.deckOfCards = new ArrayList<>();
initializeDeck();

}

public void initializeDeck(){
deckOfCards = new ArrayList<>(32);
for (Card c : deckOfCards){
for(Suits s : Suits.values()){
for (ValuesOfCards v : ValuesOfCards.values()){
deckOfCards.add(new Card(s,v));

}
}

}


}

public ArrayList<Card> getDeckOfCards() {

return deckOfCards;
}

public ArrayList<Card> shuffleDeckOfCards(){
ArrayList<Card> list = new ArrayList<>();
Collections.shuffle(list);
return list;
}

@Override
public String toString() {
return "Deck{" +
"deckOfCards=" + deckOfCards +
'}';
}
}
public class Game {
public static void main(String[] args) {
Deck deck = new Deck();
deck.initializeDeck();
System.out.println( deck.getDeckOfCards());
deck.shuffleDeckOfCards();
System.out.println(deck.getDeckOfCards());
}
}

最佳答案

只需删除该行

for (Card c : deckOfCards){

...以及相应的右大括号。

迭代空的ArrayList DeckOfCards意味着下面的两个for循环将不会被执行。

关于java - 当尝试使用枚举中的值初始化它时,我有一个空的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52937426/

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