kann methode nicht ausführen

Tom1101

Neues Mitglied
ich muss für die schule ein projekt machen und habe keine möglichkeit mehr meine lehrerin zu fragen was für einen fehler ich programmiert habe.
Wenn ich die Methode s2setzen() der Klasse SPIELER2 aufrufe steht da immer "java.lang.NullPointerException:null" ich weiß, dass es hier öfter schon erklärt wurde, aber unter verwendung eines für mich zu komplizierten quellcodes. Hier mein Quellcode:

Java:
public class SPIELER2
{
    //Attribute
    private ZEIGER zeiger;
    private SPIELFELD spiel;

    protected String name2;

    public SPIELER2(String benName){
        name2 = benName;
    }

    //Methoden
    public void s2setzen(){
        if(zeiger.zeigerZustand == 1 && spiel.status[0] == 0){
            spiel.spieler1steine[0].sichtbarMachen();
            spiel.status[0] = 2;
        }else{
            if(zeiger.zeigerZustand == 2 && spiel.status[1] == 0){
                spiel.spieler1steine[1].sichtbarMachen();
                spiel.status[1] = 2;
            }else{
                if(zeiger.zeigerZustand == 3 && spiel.status[2] == 0){
                    spiel.spieler1steine[2].sichtbarMachen();
                    spiel.status[2] = 2;
                }else{
                    if(zeiger.zeigerZustand == 11 && spiel.status[3] == 0){
                        spiel.spieler1steine[3].sichtbarMachen();
                        spiel.status[3] = 2;
                    }else{
                        if(zeiger.zeigerZustand == 12 && spiel.status[4] == 0){
                            spiel.spieler1steine[4].sichtbarMachen();
                            spiel.status[4] = 2;
                        }else{
                            if(zeiger.zeigerZustand == 13 && spiel.status[5] == 0){
                                spiel.spieler1steine[5].sichtbarMachen();
                                spiel.status[5] = 2;
                            }else{
                                if(zeiger.zeigerZustand == 21 && spiel.status[6] == 0){
                                    spiel.spieler1steine[6].sichtbarMachen();
                                    spiel.status[6] = 2;
                                }else{
                                    if(zeiger.zeigerZustand == 22 && spiel.status[7] == 0){
                                        spiel.spieler1steine[7].sichtbarMachen();
                                        spiel.status[7] = 2;
                                    }else{
                                        if(zeiger.zeigerZustand == 23 && spiel.status[8] == 0){
                                            spiel.spieler1steine[8].sichtbarMachen();
                                            spiel.status[8] = 2;
                                        }else{
                                            System.out.println("Dieses Feld ist bereits besetzt.");
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

}


Java:
public class SPIELFELD  {
    //Attribute
    private RECHTECK linie1;
    private RECHTECK linie2;
    private RECHTECK linie3;
    private RECHTECK linie4;

    //Spielsteine
    protected RECHTECK [] spieler1steine;
    protected KREIS [] spieler2steine;

    //Status
    protected int [] status;

    public SPIELFELD (){
        status = new int[9];
        linie1 = new RECHTECK(150, 50, 2, 300, "schwarz", true);
        linie2 = new RECHTECK(250, 50, 2, 300, "schwarz", true);
        linie3 = new RECHTECK(50, 150, 300, 2, "schwarz", true);
        linie4 = new RECHTECK(50, 250, 300, 2, "schwarz", true);

        spieler1steine= new RECHTECK[9];
        spieler2steine= new KREIS[9];

        for(int i=0; i<3; i++){
            spieler1steine[i] = new RECHTECK((i+1)*90, 75, 50, 50, "lila", false);
            spieler1steine[i+3] = new RECHTECK((i+1)*90, 175, 50, 50, "lila", false);
            spieler1steine[i+6] = new RECHTECK((i+1)*90, 275, 50, 50, "lila", false);

            spieler2steine[i] = new KREIS(50, (i+1)*90, 75, "gruen", false);
            spieler2steine[i+3] = new KREIS(50, (i+1)*90, 175, "gruen", false);
            spieler2steine[i+6] = new KREIS(50, (i+1)*90, 275, "gruen", false);
        }
    }
    
    public void auf0setzen(){
        for(int i=0; i<9;i++){
            status[i]=0;
            System.out.println(status[i]);
        }
    }

   
}

sry falls ich was falsch gemacht hab wegen forum Regeln:) ... bin neu hier
 
Zuletzt bearbeitet:

Anti-Banane

Gesperrter Benutzer
zu deiner ersten klasse : switch-case
generell : Conevtions !
zum fehler : nur "NPE" reicht nicht ... wenn dann brauchen wir den ganzen stacktrace ... oder zumindest die zeile (sollte zum code passen) in der die NPE geworfen wird
 

Tom1101

Neues Mitglied
switch-case und conevtions sagen mir garnichts, bin ja anfänger.

[JAVA=15]if(zeiger.zeigerZustand == 1 && spiel.status[0] == 0){[/code]

da tritt die NPE in der klasse SPIELER2 auf.

das ist alles was da steht:

java.lang.NullPointerException
at SPIELER1.s1setzen(SPIELER1.java:15)
 

Phash

Top Contributor
zeiger und spieler werden nie erzeugt, du musst irgendwo mal ein
zeiger = new Zeiger() und ein spieler = new Spieler(); machen
In deinem SPIELER2 Konstruktor

Klassen schreibt man aber bitte
UpperCamelCase anstatt ALLESGROSS
 
T

trez

Gast
switch-case und conevtions sagen mir garnichts, bin ja anfänger

Switch case geht in diesem Fall wohl nicht einfach so und "Conventions" alleine sagt auch nicht gerade viel aus, aber sieht das nicht eleganter aus?

Java:
	public void s2setzen() {
		if (zeiger.zeigerZustand == 1 && spiel.status[0] == 0) {
			spiel.spieler1steine[0].sichtbarMachen();
			spiel.status[0] = 2;
		} else if (zeiger.zeigerZustand == 2 && spiel.status[1] == 0) {
			spiel.spieler1steine[1].sichtbarMachen();
			spiel.status[1] = 2;
		} else  if (zeiger.zeigerZustand == 3 && spiel.status[2] == 0) {
			spiel.spieler1steine[2].sichtbarMachen();
			spiel.status[2] = 2;
		} else  if (zeiger.zeigerZustand == 11 && spiel.status[3] == 0) {
			spiel.spieler1steine[3].sichtbarMachen();
			spiel.status[3] = 2;
		} else  if (zeiger.zeigerZustand == 12 && spiel.status[4] == 0) {
			spiel.spieler1steine[4].sichtbarMachen();
			spiel.status[4] = 2;
		} else  if (zeiger.zeigerZustand == 13 && spiel.status[5] == 0) {
			spiel.spieler1steine[5].sichtbarMachen();
			spiel.status[5] = 2;
		} else  if (zeiger.zeigerZustand == 21 && spiel.status[6] == 0) {
			spiel.spieler1steine[6].sichtbarMachen();
			spiel.status[6] = 2;
		} else  if (zeiger.zeigerZustand == 22 && spiel.status[7] == 0) {
			spiel.spieler1steine[7].sichtbarMachen();
			spiel.status[7] = 2;
		} else  if (zeiger.zeigerZustand == 23 && spiel.status[8] == 0) {
			spiel.spieler1steine[8].sichtbarMachen();
			spiel.status[8] = 2;
		} else {
			System.out.println("Dieses Feld ist bereits besetzt.");
		}
	}
 

njans

Top Contributor
Oder mal kürzer:
Java:
	int[] zustaende = {1,2,3,11,12,13,21,22,23};
		
		for (int i = 0; i < zustaende.length; i++)
		{
			if (zeiger.zeigerZustand  == zustaende[i] && spiel.status[i] == 0)
			{
				spiel.spieler1steine[i].sichtbarMachen();
	            spiel.status[i] = 2;
                    break; //return;
			}
		}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
I Entity Objekt nicht gefunden -> Webhook empfangen in der gleichen Methode (Transaktion) Java Basics - Anfänger-Themen 37
M Methoden Methode 'wiederhole' nicht gefunden (Uebersetzungsfehler) Java Basics - Anfänger-Themen 1
D Warum kann ich hier nicht auf die Methode zugreifen? Java Basics - Anfänger-Themen 5
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
M Warum return die Methode den Wert nicht Java Basics - Anfänger-Themen 5
F nach Methode Programm nicht beenden Java Basics - Anfänger-Themen 9
U Warum kann ich die Methode in der ENUM Klasse nicht aufrufen? Und warum geht die Switch nicht? Java Basics - Anfänger-Themen 8
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
C60 Methoden Main-Methode erkennt meine Arrays nicht. Java Basics - Anfänger-Themen 7
L Methoden Methode kompiliert nicht Java Basics - Anfänger-Themen 2
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
S Kann nicht auf die Liste zugreifen mit der Methode!? Java Basics - Anfänger-Themen 3
fuerteb Compiler-Fehler Methode wird nicht bzw. als Fehler erkannt Java Basics - Anfänger-Themen 4
T Methode schreiben, die einem Array ein Stringelement hinzufügt, wenn dieses noch nicht enthalten ist. Java Basics - Anfänger-Themen 6
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
B Methoden warum macht die Methode nicht das was ich erwarte? Java Basics - Anfänger-Themen 2
Y Aufruf von Methode nicht möglich. Java Basics - Anfänger-Themen 2
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
D java main methode kann nicht kompiliert werden (Erstellen eines Objekts) Java Basics - Anfänger-Themen 6
U Methode übernimmt nicht veränderte klassenvariable Java Basics - Anfänger-Themen 5
X Methode kann auf ArrayListe nicht zugreifen! Java Basics - Anfänger-Themen 10
D Klassen add Methode funktioniert nicht. Java Basics - Anfänger-Themen 31
B Statische Methode return funktioniert nicht. Java Basics - Anfänger-Themen 19
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
A Hilfe bei Rekursion,Ich verstehe nicht,wie funktioniert die Rekursion in der Methode "walk" Java Basics - Anfänger-Themen 13
T Methode in Klasse funktioniert nicht Java Basics - Anfänger-Themen 14
C Gui- Klasse erkennt Übergabeparameter aus Methode nicht Java Basics - Anfänger-Themen 4
T Methoden Methode wird nicht auf Konsole ausgeführt Java Basics - Anfänger-Themen 3
Bluebird209 Array wird nicht an Methode übergeben Java Basics - Anfänger-Themen 7
E Methoden 2D Array wird in der Methode nicht geändert/gespeichert Java Basics - Anfänger-Themen 5
M Klassen Methode aus anderer Klasse nicht aufrufbar Java Basics - Anfänger-Themen 11
A Interface Abstrakte Interface Methode kann nicht benutzt werden Java Basics - Anfänger-Themen 10
Henri ich verstehe gerade nicht die Methode Java Basics - Anfänger-Themen 6
S Methoden Methode funktioniert nicht | NullPointerException Java Basics - Anfänger-Themen 6
S Vererbung Zugriff auf Methode funktioniert nicht (static/non-static) Java Basics - Anfänger-Themen 3
R Methoden Nicht statische Methode aus Main aufrufen Java Basics - Anfänger-Themen 2
Z Klassen set Methode funktioniert nicht Java Basics - Anfänger-Themen 2
L Vererbung auf Methode einer abgeleiteten Klassezu greifen, die nicht in allen abgeleiteten existiert Java Basics - Anfänger-Themen 3
P Settext-Methode funktioniert nicht Java Basics - Anfänger-Themen 11
W Darf man den Übergabeparameter in einer Methode nicht verwenden? Java Basics - Anfänger-Themen 2
J HashSet contain Methode funktioniert nicht wie gewollt Java Basics - Anfänger-Themen 7
H Erste Schritte Arrayes.toString methode funktioniert nicht Java Basics - Anfänger-Themen 2
D Methoden Methode wird nicht aufgerufen Java Basics - Anfänger-Themen 4
W If_Bedingung in statischer Methode beim zweiten Mal nicht durchlaufen Java Basics - Anfänger-Themen 14
G Methoden Verstehe nicht was in der Methode gemacht wird? Java Basics - Anfänger-Themen 5
M Warum soll man die Finanlize Methode nicht überschreiben und aufrufen? Java Basics - Anfänger-Themen 2
T String toString methode nicht vererbt ... Java Basics - Anfänger-Themen 4
J JavaScript findet Applet Methode nicht Java Basics - Anfänger-Themen 2
A Was stimmt mit Main-Methode nicht? Java Basics - Anfänger-Themen 4
K Get-Methode will nicht funktionieren Java Basics - Anfänger-Themen 6
A Frage zu einer Methode - Panel arbeitet nicht ordnungsgemäß Java Basics - Anfänger-Themen 2
S Methoden Return Anweisung beendet Methode nicht, stattdessen wird diese zweimal durchlaufen Java Basics - Anfänger-Themen 3
R rekursive Methode funktioniert nicht Java Basics - Anfänger-Themen 4
A Nicht-statische Methode in einer statischen aufrufen Java Basics - Anfänger-Themen 10
M Methoden Fehler in Methode - Finde ihn nicht Java Basics - Anfänger-Themen 7
G Methoden BlueJ SuM Methode wird nicht gefunden Java Basics - Anfänger-Themen 9
T Threads Neuen Thread nicht aus main-Methode starten Java Basics - Anfänger-Themen 3
H Methoden Stopwatch misst Zeit einer Methode nicht Java Basics - Anfänger-Themen 8
N JFrame-Objekt in neuer Methode nicht verfügbar? Java Basics - Anfänger-Themen 3
C rekursive Methode verstehe nicht! Java Basics - Anfänger-Themen 3
S If methode funktioniert nicht Java Basics - Anfänger-Themen 10
E Warum wird Methode nicht durch return-Befehl beendet? Java Basics - Anfänger-Themen 3
M repaint() in run-Methode funktioniert nicht Java Basics - Anfänger-Themen 9
B verstehe methode nicht methode Java Basics - Anfänger-Themen 2
D Methoden Methode in anderer .class Datei Funktioniert nicht. Java Basics - Anfänger-Themen 11
M Value-returing Methode funktioniert nicht Java Basics - Anfänger-Themen 4
S Methoden rekursive Methode funktioniert nicht Java Basics - Anfänger-Themen 4
B Methoden Methode lässt sich nicht selbst aufrufen? Java Basics - Anfänger-Themen 3
D Variablen Methode erkennt Variable nicht Java Basics - Anfänger-Themen 6
M Methode abbrechen funktioniert nicht?! Java Basics - Anfänger-Themen 2
R Nach return() der aufgerufenen Methode wird aufrufende Methode nicht weiter ausgeführt Java Basics - Anfänger-Themen 14
K Methode funzt nicht, wieso? Java Basics - Anfänger-Themen 12
D Variablen get-Methode funktioniert nicht. Java Basics - Anfänger-Themen 4
L Vererbung - Methode wird nicht erkannt Java Basics - Anfänger-Themen 5
D Jar klappt nicht trotz main Methode Java Basics - Anfänger-Themen 19
H Warum funktioniert diese kleine Methode nicht? Java Basics - Anfänger-Themen 8
P ich versteh diese Methode nicht ;? Java Basics - Anfänger-Themen 7
StupidAttack Abstrakte Methoden in nicht-abstrakter Methode in abstrakter Klasse Java Basics - Anfänger-Themen 6
N Compiler findet array in gleicher methode nicht Java Basics - Anfänger-Themen 4
M paint-Methode funzt nicht Java Basics - Anfänger-Themen 11
N Methode erfüllt nicht den zweck (Call by value) Java Basics - Anfänger-Themen 17
J return bricht methode nicht ab Java Basics - Anfänger-Themen 12
L longwert mit Methode addieren geht nicht! Java Basics - Anfänger-Themen 20
M Kapier die Methode nicht Java Basics - Anfänger-Themen 6
L Warum erkennt java meine methode nicht? Java Basics - Anfänger-Themen 17
Q mathematische Operationen als Methode und nicht Infix-Operator Java Basics - Anfänger-Themen 14
T Polymorphie:Überschreiben der Methode klappt nicht Java Basics - Anfänger-Themen 4
Gonzalez Eingabe des Benutzers mittels readLine()-Methode. Klappt in meinem Beispiel nicht! Java Basics - Anfänger-Themen 7
Developer_X Methode "warte" funktioniert nicht Java Basics - Anfänger-Themen 23
I Methode wird nicht gefunden Java Basics - Anfänger-Themen 8
K class Enum Methode: values() - finde ich nicht in der API Java Basics - Anfänger-Themen 2
H Paint Methode malt nicht im Panel Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben