public class Deck {
public static final int CARDSOFDECK = 112;
private Card[] cards = new Card[CARDSOFDECK];
public static void main(String[] args){
Deck deck = new Deck();
deck.load();
deck.show();
}
public void show(){
for(Card c: cards)
System.out.println(c.toString());
}
public void load(){
int j = 0;
for (j = 0; j < 2; j++) {
int i = 0;
for (Color c : Color.values()) {
for (Value v : Value.values())
cards[i++] = new Card(c, v);
}
}
}
}
public class Card {
private Color color;
private Value value;
public Card(Color c, Value v) {
color = c;
value = v;
}
public String toString() {
return color + " " + value;
}
}
public enum Color {
RED("Red"), YELLOW("Yellow"), BLUE("Blue"), GREEN("Green");
private final String cardColor;
private Color(String cardColor){
this.cardColor = cardColor;
}
public String getColor(){
return cardColor;
}
}
public enum Value {
ZERO(0), ONE(1), TWO(2), THREE(3), FOUR(4), FIVE(5), SIX(6), SEVEN(7), EIGHT(8), NINE(9),
SKIP(10), DRAW2(11), REVERSE(12), WILD(13), WILDDRAW4(14);
private final int cardValue;
private Value(int cardValue){
this.cardValue = cardValue;
}
public int getValue(){
return cardValue;
}
}
我在Deck類中繞着半個地方說toString的地方得到了nullpointerexception,我不太清楚爲什麼。我正在爲基於java的課程製作uno遊戲,並試圖獲得創建的卡片。感謝您的幫助!Deck類中的java.lang.NullPointerException
'私人卡[]卡=新卡[CARDSOFDECK];'爲112張卡創建空間;但它不會創建**任何**卡片。 –
@ElliottFrisch他在load()方法中創建卡片。 –
@ZinMinn其中112人? –