我想創建一個撲克牌類,然後把它們放在一個ArrayList中作爲你的手在遊戲過程中。不幸的是,每次我嘗試畫一隻手時,儘管他們的套裝和值都是隨機的,但用普通的toString方法打印時,每張紙牌看起來都完全一樣。這裏有一些重要的代碼,這裏是the pastebin of the whole class file(只有60行)。誰能告訴我這裏發生了什麼?我很抱歉,如果這是一個重複的問題,我徹底搜查。意外創建重複對象? [Java]
private static char value;
private static String suit;
private static char [] values = {'A', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'J', 'Q', 'K'};
private static String [] suits = {"Hearts", "Spades", "Clubs", "Diamonds"};
public Card(){
this.value = values[(int)(Math.random()*values.length)];
this.suit = suits[(int)(Math.random()*suits.length)];
}
ArrayList<Card> hand = new ArrayList<Card>();
Card a = new Card();
Card b = new Card();
hand.add(a);
hand.add(b);
for (int i=0; i<hand.size(); i++) {
System.out.println(hand.get(i));
}
也許告訴我們實際的輸出是什麼樣子?另外,你的'toString'也很重要。和你實現它的方式,'getValue'方法以及 –