Compiler-Fehler Exception in thread "main" java.lang.NullPointerException

anonymous91

Mitglied
Ich soll ein Tic-Tac-Toe Spiel programmieren. oder anders gesagt "x" und "o". 3 x 3 Felder sollen es sein.
Ich habe den Code geschrieben, aber kriege den Fehler "Exception in thread "main" java.lang.NullPointerException" bei dem Aufruf des Konstruktors der Klasse. Ich weiß leider nicht, wie ich den Fehler beseitigen kann.

Freue mich auf eure Hilfe :)

Hier die Mainmethode

Java:
import java.io.*;

public class Ttest {

	public static void main(String[] args) throws IOException{
	
		TTT x = new TTT();
		TTT o = new TTT();
		int reihe[] = new int [9];
		int spalte[] = new int [9]; 
		
		
		BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
		
		for (int i = 0; i < 9; i++)
		{
			if (i % 2 == 0){
				System.out.println("Spieler x: Bitte geben Sie die Reihenzahl ein: ");
				reihe[i] = Integer.parseInt(buffer.readLine ());
				System.out.println("Spieler x: Bitte geben Sie die Spaltenzahl ein: ");
				spalte[i] = Integer.parseInt(buffer.readLine ());
			 
			 x.x(reihe[i], spalte[i]);
			}
			
			else{
				System.out.println("Spieler o: Bitte geben Sie die Reihenzahl ein: ");
				reihe[i] = Integer.parseInt(buffer.readLine ());
				System.out.println("Spieler o: Bitte geben Sie die Spaltenzahl ein: ");
				spalte[i] = Integer.parseInt(buffer.readLine ());
			 
			 o.o(reihe[i], spalte[i]);	
			}
			
			TTT.print(); // Spielfeld ausgeben 
			System.out.println();
			
			// Nachdem der erste Nutzer 3 mal eingegeben hat, muss ueberprueft werden
			//ob jemand gewonnen hat
			if ( i >= 4){
				if (x.gewonnen('x'))
					System.out.println("Spieler x hat gewonnen");
				if (o.gewonnen('o'))
					System.out.println("Spieler o hat gewonnen");
			}
		}
		
		
	}

}

und eine Klasse

Java:
public class TTT {

	private static char spielfeld [];
	
	TTT (){ // Konstruktor, alle Felder leeren
		for (int i = 0; i < 9; i++){ 
			
				spielfeld[i] =  ' ';
			
		}	
	}
    
	void x(int zeile, int spalte){
		
		if ( 0 > zeile || zeile > 2 || 0 > spalte || spalte > 2
				|| spielfeld[zeile*3 + spalte] != ' '){
			System.out.println("Inhalt schon besetzt bzw. ungueltige Zeile oder Spalte");
			System.exit(1);
			// Wenn Zeile oder Spalte nicht zwischen 0 und 2 liegt
			// oder deren Inhalt besetzt ist, programm beenden
		}
		
		else{
			spielfeld[zeile*3 + spalte] = 'x';
		}

	}
	
	void o(int zeile, int spalte){
		
		if ( 0 > zeile || zeile > 2 || 0 > spalte || spalte > 2
				|| spielfeld[zeile*3 + spalte] != ' '){
			System.exit(1);
			// Wenn Zeile oder Spalte nicht zwischen 0 und 2 liegt
			// oder deren Inhalt besetzt ist, programm beenden
		}
		
		else{
			spielfeld[zeile*3 + spalte] = 'o';
		}

	}

	
	static void print(){
		// Ausgabe des Spielfeldes
		for (int i = 0; i < 3; i = i + 3){
			for (int j = i; j < 3; j++){ //Schleife fuer Reihen
				System.out.print(spielfeld[j]);	
			}	
			System.out.println();	
		}
	}
	
	boolean gewonnen(char spieler){
		
		// Die 3 Reihen pruefen
		for (int i = 0; i < 9; i = 3*i ){
		 if (spielfeld[i] == spielfeld[i+1]  && spielfeld[i+1] == spielfeld[i+2]
			 && spielfeld[i +2] == spieler)
			 return true;
		}
		
		// Die 3 Spalten + die 2 Diagonale pruefen
		for (int i = 0; i < 3; i++ ){
			 if (spielfeld[i] == spielfeld[i+3] && spielfeld[i+3] == spielfeld[i+6]
			     && spielfeld[i +6] == spieler)
			 return true;
			 
			 if (i == 0)
			 {
				 if (spielfeld[i] == spielfeld[i + 4] && spielfeld[ i + 4] == spielfeld[i + 8] 
							&& spielfeld[i + 8] == spieler)
						return true;
					
			 }
			 if (i == 2)
			 {
				 if (spielfeld[i] == spielfeld[i + 2] && spielfeld[ i + 2] == spielfeld[i + 4] 
							&& spielfeld[i + 4] == spieler)
						return true;
					
			 }
		}	

		return false;
	}
	
}
 
M

Marcinek

Gast
In der Exception steht die Zeile.

Google sagt dir, was eine Null-Reference ist.

Mit diesen Informationen kann man das Problem nicht lösen? - Ich habe keine Lust zu schauen, wo hier eine NPE fliegt.

Gruß,

Martin
 

AmunRa

Gesperrter Benutzer
Die NPE fliegt hier

Java:
   private static char spielfeld [];
    
    TTT (){ // Konstruktor, alle Felder leeren
        for (int i = 0; i < 9; i++){ 
            
                spielfeld[i] =  ' ';
            
        }   
    }

is mir nur grad beim ersten lesen aufgefallen aber so wie der code aussieht werden da wohl noch genug andere Fehler drin sein
 
T

tröööt

Gast
immer wieder schön ... exceptions als compiler-fehler zu markern ...

@TO
exceptions treten während der RUNTIME auf ... ergo muss der compiler erfolgreich durchgelaufen sein ... wie kommst du dann also auf die idee es wäre ein COMPILETIMEERROR ?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
J Exception in thread "main" Java Basics - Anfänger-Themen 1
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
N Threads Exception in thread "main"... Feher bei dem Versuch ein Radius zu berechnen Java Basics - Anfänger-Themen 4
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
P Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 1
K Exception in thread "main" Java Basics - Anfänger-Themen 7
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Exception in thread main java.lang.StackOverflowError Java Basics - Anfänger-Themen 3
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
M Exception in thread "main" java.lang.NoClassDefFoundError: MeineKlasse Java Basics - Anfänger-Themen 12
S Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 11
S Umgebungsvariable Exception in thread "main" java.lang.UnsatisfiedLinkError: no J3D in java.librar y.path Java Basics - Anfänger-Themen 15
M Klassen Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 2
D Exception in thread "main" Java Basics - Anfänger-Themen 8
A Exception in thread "main" Java Basics - Anfänger-Themen 7
S Exception in thread "main" Java Basics - Anfänger-Themen 3
B Exception in thread "main" java.lang.NullPointerException Fehler Hilfe! Java Basics - Anfänger-Themen 4
L Bubblesort: Exception in Thread "main" Java Basics - Anfänger-Themen 5
A Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 16
A GELÖST -- Exception in thread "main" Java Basics - Anfänger-Themen 3
B Fehlermeldung - Exception in thread "main" java.lang.Error: Unresolved compilation pr Java Basics - Anfänger-Themen 16
E Fehler: "Exception in thread "main" java.lang.NoSuchMethodError" Java Basics - Anfänger-Themen 15
G Fehler: Exception in thread main java.lang.noClassDefFound Java Basics - Anfänger-Themen 7
L Exception in thread "main" java.util.NoSuchElement Java Basics - Anfänger-Themen 4
A Do/While Problem (Exception in thread "main" java. Java Basics - Anfänger-Themen 4
M "exception in thread "main" java.lang.NullPoi Java Basics - Anfänger-Themen 2
S Exception in thread "main" java.lang.UnsupportedCl Java Basics - Anfänger-Themen 4
P Exception in thread "main" Java Basics - Anfänger-Themen 4
V Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 21
S Exception in thread "main" java.lang.NoSuchMethodE Java Basics - Anfänger-Themen 3
NightmareVirus Exception in thread "main" java.lang.NoSuchMethodE Java Basics - Anfänger-Themen 8
A "Exception in thread "main" java.lang.NoCLass Java Basics - Anfänger-Themen 10
N exception in thread main . Java Basics - Anfänger-Themen 3
C Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 9
vogella Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NoSuchMethodE Java Basics - Anfänger-Themen 6
C exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 7
A Fehlermeldung: Exception in thread "main" java.lan Java Basics - Anfänger-Themen 3
H Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 3
R Exception in Thread "main" . Kommandozeile/Netbean Java Basics - Anfänger-Themen 8
L Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerEx Java Basics - Anfänger-Themen 10
B Exception in thread "main"... Java Basics - Anfänger-Themen 3
L Exception in thread "main" java.lang.NoSuchMethodE Java Basics - Anfänger-Themen 3
K Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 8
J Exception in thread "main" java.langClassNoFoundEr Java Basics - Anfänger-Themen 2
H Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 5
B Fehler: Exception in Thread "main" java.lang.NoCla Java Basics - Anfänger-Themen 2
G Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 2
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
V Threads Exception in Thread behandeln Java Basics - Anfänger-Themen 3
D Exception in thread "AWT-EventQueue-0" Java Basics - Anfänger-Themen 8
C Exception in thread "AWT-EventQueue-0 Java Basics - Anfänger-Themen 15
M Exception in thread "AWT-EventQueue-0" Java Basics - Anfänger-Themen 7
1 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException Java Basics - Anfänger-Themen 5
A Exception aus Thread werfen Java Basics - Anfänger-Themen 14
J Datentypen Exception in thread "AWT-EventQueue-0"?? Java Basics - Anfänger-Themen 4
T Thread 2x starten verursacht Exception Java Basics - Anfänger-Themen 3
Y Exception in thread Java Basics - Anfänger-Themen 11
Spin Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: data must Java Basics - Anfänger-Themen 10
O java.lang.NoClassDefFoundError Exception in thread "mai Java Basics - Anfänger-Themen 5
S Exception in thread Java Basics - Anfänger-Themen 7
A Exception in thread "Thread-33" java.lang.NoClassD Java Basics - Anfänger-Themen 10
F Fehlermeldung: Exception in thread. Java Basics - Anfänger-Themen 17
G Exception in thread Java Basics - Anfänger-Themen 9
H exception in thread mainjava.lang.noclass ... Java Basics - Anfänger-Themen 3
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
Fiedelbambu Exception in Application constructor Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
LiFunk Exception: es dürfen nur Nummern eingelesen werden Java Basics - Anfänger-Themen 6
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
1 Exception Java Basics - Anfänger-Themen 2
I JAX-RS Exception Handling Java Basics - Anfänger-Themen 4
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
J null exception Array Java Basics - Anfänger-Themen 5
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
C Exception-Frage Java Basics - Anfänger-Themen 3
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
N Wie teste ich eine geworfene Exception? Java Basics - Anfänger-Themen 8
R Methoden ArrayList clonen wirft exception Java Basics - Anfänger-Themen 3
D Scanner- Exception NoSuchElementException Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben