デッキ内のすべてのカードを表示するコードを作成しようとしています。残念ながら、スタックに追加された最後のカードは、以前に入力されたすべてのカードを上書きし続けるようです。どうすればこれを防ぐことができますか? 今、コードを入力すると、「Ace of Spades」という行が 52 回表示されるだけです。
import java.util.*;
public class cardSearcher{
public static void main(String[] args){
Stack<card> deck = new Stack<card>();
String[] value = {"2","3","4","5","6","7","8","9","10","Jack","Queen","King","Ace"};
String[] suit = {"Diamonds","Hearts","Clubs","Spades"};
for (int i=0;i<value.length;i++){
for (int j=0;j<suit.length;j++){
deck.push(new card(value[i],suit[j]));
}
}
while (!deck.empty()){
card chosenCard = deck.pop();
System.out.println(chosenCard.value +" of "+ chosenCard.suit);
}
}
}
カードコードは次のとおりです。
public class card {
public static String value = "";
public static String suit = "";
public card(String valueofCard, String suitofCard) {
card.value = valueofCard;
card.suit = suitofCard;
}
}