Ich bin ein Anfänger in Java, und ich habe Testcode erstellt, um einige der Konzepte anzuwenden, über die ich gelesen habe. Ich wollte also eine Klasse erstellen, die Spielkarten beschreibt. Die Kartenklasse enthält Felder, die sowohl die Suite als auch den Wert beschreiben (1 - 13 für alle 4 Suites). Diese Klasse war sehr einfach zu erstellen, wie Sie sehen können --
public class Card {
private String suite;
private int cardValue;
Card(String s, int cV){
this.suite = s;
this.cardValue = cV;
}
public String getSuite(){
return this.suite;
}
public int getCardValue(){
return this.cardValue;
}
}
Ich habe eine andere Klasse erstellt, um diese Klasse zu testen und um 52 Karten zu einem Array hinzuzufügen (ich habe eine andere Klasse, die mit einem 52-Karten-Deck umgehen kann, aber das ist im Zusammenhang mit meiner Frage hier nicht wichtig). Diese Klasse, genannt CardTest
enthält die Hauptmethode. Ich habe eine for-Schleife erstellt, die alles an das Deck-Array anhängt, aber meine Probleme treten auf, wenn ich eine Schleife durch das Deck machen und Kartenwerte ausdrucken möchte (Suite und Wert). Ich erhalte einen NullPointException-Fehler. Hier ist die cardTest-Klasse:
public class CardTest {
public static void main(String[] args){
Card[] temp = new Card[52];
for (int i = 0; i <12; i++){
temp[i] = new Card("Spade", i + 1);
temp[i+13] = new Card("Club", i + 1);
temp[i+26] = new Card("Diamond", i + 1);
temp[i +39] = new Card("Heart", i + 1);
}
for (int i = 0; i < 52; i++){
System.out.println(temp[i].getSuite());
}
}
}
Ich habe versucht, nach Problemen mit dieser Art von Fehler zu suchen, aber das Einzige, was ich herausgefunden habe, ist, dass es ein Problem mit den Kartenobjekten gibt, die auf einen Standardwert "null" gesetzt werden, was zu dem Fehler beim Methodenaufruf führt.