import java.lang.*;
public class Card
{
String face, suit;
int value;
public Card (String a, String b)
{
face = a;
suit = b;
faceValue(face);
}
public void faceValue(String abc)
{
if (abc.equals("Jack") || abc.equals("Queen") || abc.equals("King"))
{
value = 10;
}
else if (abc.equals("Ace"))
{
value = 11;
}
else
{
value = Integer.parseInt(abc);
}
}
public String toString()
{
return face + " of " + suit + "\nValue of: " + value;
}
public int getValue()
{
return value;
}
public static void main(String [] args)
{
Deck deck = new Deck();
deck.fillDeck();
System.out.println(deck.toString());
}
}
class Deck
{
Card [] cards;
String [] faces = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King", "Ace"};
int counter = 0;
String deckList;
public Deck()
{
cards = new Card[52];
}
public void fillDeck()
{
for (int i = 0; i <= 12; i++)
{
cards[i] = new Card(faces[counter], "Hearts");
counter++;
}
counter = 0;
for (int i = 0; i >= 13 && i <= 25; i++)
{
cards[i] = new Card(faces[counter], "Diamonds");
counter++;
}
counter = 0;
for (int i = 0; i >= 26 && i <= 38; i++)
{
cards[i] = new Card(faces[counter], "Clubs");
counter++;
}
counter = 0;
for (int i = 0; i >= 39 && i <= 51; i++)
{
cards[i] = new Card(faces[counter], "Spades");
counter++;
}
}
public String toString()
{
for (int i = 0; i <= 51; i++)
{
deckList = cards[i].getValue() + " ";
}
return deckList;
}
}
這是我得到的錯誤,我不確定它是什麼。從之前的parseInt()也有一些問題,也許它與此有關?這門課被設計爲用於黑色傑克遊戲,但我似乎無法通過這個錯誤,任何幫助表示讚賞。Card和Deck類的NullPointerException錯誤
Exception in thread "main" java.lang.NullPointerException
at Deck.toString(Card.java:100)
at Card.main(Card.java:47)
嘗試使用調試器的一些運行時的值調試它,你也會自動從哪裏知道的異常來了。 – 2014-10-09 03:08:20
有另一個看看ur for循環的初始化和使用方式。 – 2014-10-09 03:12:59