Hallo, ich habe vor kurzem angefangen Java zu lernen, aber habe bis jetzt noch wenig Durchblick und evtl. ist das auch zu Hoch für mich, aber das wird sich zeigen. Ich arbeite zur Zeit nach dem Buch "Java von Kopf bis Fuß" und habe beim Kompilieren der Java-Dateien in der Windows Eingabeaufforderung immer wieder die Anzeige, dass die public Klassen falsch seien. Wie muss das denn dann richtig aussehen?
Das Beispiel ist aus dem Buch und laut Text soll es eben schon ein paar Eindrücke vermitteln, aber auch stark verbesserungswürdig sein, sodass man da später noch dran üben kann. Naja, irgendwas läuft da gar nicht und vielleicht kann mir hier ein schlauer Fuchs helfen.
Das Beispiel ist aus dem Buch und laut Text soll es eben schon ein paar Eindrücke vermitteln, aber auch stark verbesserungswürdig sein, sodass man da später noch dran üben kann. Naja, irgendwas läuft da gar nicht und vielleicht kann mir hier ein schlauer Fuchs helfen.
Java:
public class Ratespiel {
Spieler s1;
Spieler s2;
Spieler s3;
public void starteSpiel() {
s1 = newSpieler();
s2 = newSpieler();
s3 = newSpieler();
int tipp1 = 0;
int tipp2 = 0;
int tipp3 = 0;
boolean s1hatRecht = false;
boolean s2hatRecht = false;
boolean s3hatRecht = false;
int zielZahl = (int) (Math.random()*10);
System.out.println("Ich denke mir eine Zahl zwischen 0 und 9 aus ...");
while (true) {
System.out.println("Die zu ratende Zahl ist " + zielZahl);
s1.raten();
s2.raten();
s3.raten();
tipp1 = s1.zahl;
System.out.println("Spieler 1 tippte " + tipp1);
tipp2 = s2.zahl;
System.out.println("Spieler 2 tippte " + tipp2);
tipp3 = s3.zahl;
System.out.println("Spieler 3 tippte " + 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;// Das Spiel ist zu Ende
} else{
System.out.println("Die Spieler müssen es erneut versuchen.");
}
}
}
}
public class Spieler {
int zahl = 0; //hier kommt der Tipp rein
public void raten(){
zahl= (int) (Math.random() * 10);
System.out.println("ich tippe auf die Zahl: " + zahl);
}
}
public class SpielStarter {
public static void main (String[] args) {
Ratespiel spiel = new Ratespiel();
spiel.starteSpiel();
}
}