Array auf Null-Inhalte prüfen

Caliburns

Mitglied
Hallo,

eine kurze Grundübersicht: Ich habe ein 2D-Array, das als Spielbrett dient und auf dem Figuren abgesetzt werden. Das hinzufügen der Figuren klappt ohne Probleme. Bei der Ausgabe bekomme ich ein Array voller null-Einträge, bis auf die Positionen auf denen eine Figur steht, da bekomm ich einen Namen ausgegeben. Sobald eine Figur erstellt wird, wird Sie einem Array in der Klasse GameStone von maximal 11 Feldern hinzugefügt (max. 11 Spielfiguren pro Spieler). Nun will ich das Spielbrett durchgehen, und alle Spielfiguren ohne die null-Positionen ausgeben lassen. Hierzu unten die for-Schleife. Leider bekomme ich eine NullPointerException und ich weiß einfach nicht warum... Meine Vermutung ist, dass der Fehler an dem null-Vergleich in der if-Bedingung liegt? Oder da ich das Array ja bereits mit 11 Plätzen initialisiere, und daher auch hier noch null-Einträge sind und die Schleife deshalb crasht??

Klasse MatchField mit folgender getter-Methode
Java:
public String getField(int x, int y) {
        return field[x] [y];
    }


Ausgabe der Figuren
Java:
String pos0 = "";
for (int i = 0; i < GameStone.stonesR.length; i++) {
                     if (field.getField(GameStone.stonesR[i].getX(), GameStone.stonesR[i].getY()) != null) {
                       pos0 = GameStone.stonesR[i].getName();
 
Zuletzt bearbeitet:
K

kneitzel

Gast
Also aus Deinen Informationen kann man nicht ablesen, wo der Fehler ist. Wenn in der if Zeile die NPE auftritt, dann ist entweder
- field,
- GameStone (So das keine Klasse ist) oder
- GameStone.stonesR
null.

Wie hast Du die Werte jeweils initialisiert? So Gamestone eine Klasse ist und stonesR ein public static Feld: Mach ein ordentliches Objektorientiertes Design! Das sind so Dinge, die man von Anfang an sein lassen sollte!
 

mrBrown

Super-Moderator
Mitarbeiter
Also aus Deinen Informationen kann man nicht ablesen, wo der Fehler ist. Wenn in der if Zeile die NPE auftritt, dann ist entweder
- field,
- GameStone (So das keine Klasse ist) oder
- GameStone.stonesR
null.
Oder GameStone.stonesR[i].getX() bzw GameStone.stonesR[i].getX() haben als Typ Integer und geben null zurück...
 

Caliburns

Mitglied
Der Fehler lag tatsächlich bei GameStone.stonesR

Durch den Einschub hier unten konnte ich es lösen :) Vielen Dank!
Java:
if (GameStone.stonesR[i] == null) {
   continue;
 }

@kneitzel "So Gamestone eine Klasse ist und stonesR ein public static Feld" das trifft zu. Du meinst ich soll das Feld private setzen und dann ordentlich über getter darauf zugreifen?
 

Caliburns

Mitglied
Kurze Frage noch hierzu: static bedeutet doch nur, dass ich von anderen Klassen direkt darauf zugreifen kann oder? Was ist der Hintergrund, warum es wichtig ist dies möglichst nicht zu verwenden?
 
K

kneitzel

Gast
Das ist wie in der realen Welt: Du willst keine Baupläne (Klassen) sondern reale Objekte haben, um damit etwas zu machen. Bei der objektorientierten Entwicklung wird sich genau an sowas orientiert.

Und unter dem Strich hat das ganz viele Gründe, wieso das besser ist:
- So benutzt Du erstellte Objekte mit Ihrem Verhalten. Der Aufbau oder wie diese genau funktionieren interessieren Dich nicht mehr. (Im Gegensatz zu deiner Implementation, wo die Inhalte von Gamestone sogar frei von außen verändert werden können ...)
- Klar definierte Abhängigkeiten - Es kann nicht mehr wild auf alles Zugegriffen werden.
- Vielseitigkeit - Durch dieses static hast Du das genau ein mal. Aber stell Dir vor, Du willst das später erweitern: Dann brauchst Du davon mehrere Instanzen....
- ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
jakobfritzz Array- cannot invoke "" because "" is null Java Basics - Anfänger-Themen 4
J null exception Array Java Basics - Anfänger-Themen 5
C Array-Eintrag wieder auf Null setzen Java Basics - Anfänger-Themen 3
T Datei in Array einlesen "null" Java Basics - Anfänger-Themen 8
K Operatoren 2D Int Array auf Null-Referenzen prüfen Java Basics - Anfänger-Themen 18
V Elemente aus einem Array mit null überschreiben Java Basics - Anfänger-Themen 4
V String Array gegen null-Eintrag sichern Java Basics - Anfänger-Themen 11
M array = null Java Basics - Anfänger-Themen 2
F Erste Schritte Unterschied: Array "leer" / "null" Java Basics - Anfänger-Themen 3
X Array trotz Befüllung "null" Java Basics - Anfänger-Themen 11
M Kann einen Array nicht füllen, im Nachhinein nur "null"-Werte Java Basics - Anfänger-Themen 11
H Mehrdimensionales Array - Inhalt auf Null überprüfen Java Basics - Anfänger-Themen 5
B Frage zur Effizienz - alle Array-Felder initialisieren oder jedes Feld auf null prüfen? Java Basics - Anfänger-Themen 4
G Array-Zeiger auf null und if() Java Basics - Anfänger-Themen 4
S Array sortieren NULL oder Empty ignorieren. Java Basics - Anfänger-Themen 9
Binary.Coder Null für ein Array Java Basics - Anfänger-Themen 6
M String-Array-Element wieder null zuweisen Java Basics - Anfänger-Themen 16
I Unerklärliche Null-Pointer-Exception bei JRadioButton Array Java Basics - Anfänger-Themen 2
L Array ohne terminierende Null Java Basics - Anfänger-Themen 4
T null-Zeilen aus einem Array entfernen Java Basics - Anfänger-Themen 4
G Array-Element auf null abfragen Java Basics - Anfänger-Themen 9
G StringBuffer Array null setzen Java Basics - Anfänger-Themen 2
G array auf null-referenzen überprüfen ! Java Basics - Anfänger-Themen 9
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
E Durch Muster in Array iterieren Java Basics - Anfänger-Themen 3
L Frage zum Array Java Basics - Anfänger-Themen 1
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
D Methode: Array Reihenfolge tauschen Java Basics - Anfänger-Themen 3
julian0507 Array aus Methode in anderer Methode sichtbar machen Java Basics - Anfänger-Themen 10
P Array vom Typ Klasse Java Basics - Anfänger-Themen 18
Lion.King Array deklarieren und initialisieren Java Basics - Anfänger-Themen 5
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
A CSv.Datei einlesen und die werte in zweidemosional Int Array speichern Java Basics - Anfänger-Themen 9
M Methoden Zweidimensionaler Array mit Setter Methode ändern Java Basics - Anfänger-Themen 4
AkiJou Zeile in 2d Array löschen Java Basics - Anfänger-Themen 2
LilliCherry Array in einer Zeile ausgeben Java Basics - Anfänger-Themen 6
A Elemente in einem Array Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben