Ich lerne seit ein paar Tagen Java und komme einfach nicht drauf, warum dieser Code nicht funktionieren will ...
	
	
	
	
	
		
	
	
	
	
	
	
		
	
	
	
	
	
	
		
	
Der Fehler lautet:
Exception in thread "main" java.lang.NullPointerException
at Ratespiel.<init>(Ratespiel.java:28)
at SpielStarter.main(SpielStarter.java:4)
Und der Befehl: Die zu erratene Zahl ist ...
klappt auch, aber danach kommt einfach nichts mehr.
			
			
		Java:
	
	public class Ratespiel {
    Spieler s1;
    Spieler s2;
    Spieler s3;
   
    public void starteSpiel (){
        s1 = new Spieler();
        s2 = new Spieler();
        s3 = new Spieler();
    }
   
    int tipp1 = 0;
    int tipp2 = 0;
    int tipp3 = 0;
   
    boolean s1hatRecht = false;
    boolean s2hatRecht = false;
    boolean s3hatRecht = false;
   
    int zielZahl = (int) (Math.random()*10); {
       
   
    while(true) {
        System.out.println("Die zu erratene Zahl ist " +zielZahl);
       
        s1.raten();
        s2.raten();
        s3.raten();
       
        tipp1 = s1.zahl;
        System.out.println("Spieler eins tippt " + tipp1);
       
        tipp2 = s2.zahl;
        System.out.println("Spieler zwei tippt " + tipp2);
       
        tipp3 = s3.zahl;
        System.out.println("Spieler drei tippt " + tipp3);
       
        if(tipp1 == zielZahl) {
            s1hatRecht = true;
        }
        if(tipp2 == zielZahl) {
            s2hatRecht = true;
        }
        if(tipp3 == zielZahl) {
            s3hatRecht = true;
        }
        if (s1hatRecht || s2hatRecht || s3hatRecht) {
            System.out.println("Wir haben einen Gewinner!");
            System.out.println("Spieler eins hat richtig geraten? " + s1hatRecht);
            System.out.println("Spieler zwei hat richtig geraten? " + s2hatRecht);
            System.out.println("Spieler drei hat richtig geraten? " + s3hatRecht);
            System.out.println("Das Spiel ist aus.");
            break;
           
        }
        else {
            System.out.println("Wir müssen nochmal spielen!");
        }
    }
} }
		Code:
	
	public class Spieler {
    int zahl = 0;
   
    public void raten(){
        zahl = (int) (Math.random() *10);
        System.out.println("Ich tippe auf die Zahl: " +zahl);
    }
}
		Java:
	
	public class SpielStarter {
    public static void main (String[] args) {
        Ratespiel spiel = new Ratespiel();
        spiel.starteSpiel();
    }
}Der Fehler lautet:
Exception in thread "main" java.lang.NullPointerException
at Ratespiel.<init>(Ratespiel.java:28)
at SpielStarter.main(SpielStarter.java:4)
Und der Befehl: Die zu erratene Zahl ist ...
klappt auch, aber danach kommt einfach nichts mehr.
 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		