Interpreter-Fehler Java Zahl Raten Spiel- Fehlermeldung mir unbekannt

Kroko2001

Mitglied
Hallo lieber Java Programmierer,
ich habe vor kurzem angefangen mit Java ohne Eclipse etc. zu programmieren. Die ersten Grundschritte kann ich schon. Nun bin ich in einem Buch auf ein Zahl raten Spiel gestoßen. Dabei wählt Java eine Zufallszahl und der Spieler muss diese erraten. Wenn seine Zahl größer/kleiner als die gesuchte Zahl ist, wird die so angezeigt. So lange bis die Zahl erraten wurde.

Den Quellcode habe ich soweit fertig, jedoch sind dort 6 Fehler,Errors, drin, die ich nicht kenne und nicht deuten kann.

Vielleicht kann ja einer von euch mir helfen.
Im Anhang seht ihr ein Screenshot von meinem Quellcode im Hintergrung und den Errors Meldungen auf der rechten Seite im Vordergung.

Ich würde mich freuen wenn mir jemand helfen könnte.

Schon mal vielen Dank

Liebe Grüße
Kroko2001
 

Anhänge

  • Java ZahlRaten Fehler.jpg
    Java ZahlRaten Fehler.jpg
    100,8 KB · Aufrufe: 63
Der Filename und die Bezeichnung der Klasse müssen gleich sein - auch bezüglich Groß-/Kleinschreibung
Groß-/Kleinschreibung ist in Java generell relevant. random ist etwas anderes als Random,

Außerdem hast du da Tippfehler drin.
z.B.: getZafallszahl. Zumindest sieht im Bild es wie ein "a" aus ;-)

Es wäre übrigens hilfreicher, wenn du den Code als Text und nicht als Bild im Beitrag reinstellst.
 
Hallo Dompteur,

das mit der Groß- und Kleinschreibung hat mir schon mal viel weiter geholfen.
Und du hattest recht,da waren auch Rechtschreibfehler😉
Jetzt bleibt nur noch der erste Fehler, den ich nicht verstehe. Vielleicht kannst du mir da ja auch noch weiter helfen.

Hier noch mal der jetzige Code:
Java:
package ratespiel;

import java.util.Random;
import javax.swing.JOptionPane;

public class Zahlraten {
    private int zufallszahl;
    private int ratezahl;

    Zahlraten() {
        ratezahl = -1;
    }

    void setZufallszahl(int z) {
        zufallszahl = z;
    }

    int getZufallszahl() {
        return zufallszahl;
    }

    void setRatezahl(int z) {
        ratezahl = z;
    }

    int getRatezahl() {
        return ratezahl;
    }

    public static void main(String[] args) {
        Zahlraten spiel;

    spiel = new Zahlraten();
    boolean geraten = false;
    int versuchzaehler = 0;
    JOptionPane.showMessageDialog(null,
                "Erraten Sie eine ganze Zahl aus dem Bereich von 1 bis 100!");
    Random randomGenerator = new Random();
    spiel.setZufallszahl(randomGenerator.nextInt(101));
    while (!geraten) {
        spiel.setRatezahl(Integer.parseInt(
                JOptionPane.showInputDialog("Welche Zahl wird gesucht")));
        versuchzaehler++;
        if (spiel.getRatezahl() < spiel.getZufallszahl()) {
            JOptionPane.showMessageDialog(null, "Ihr Zahl ist zu klein!");
        } else {
            if (spiel.getRatezahl() > spiel.getZufallszahl()) {
                JOptionPane.showMessageDialog(null, "Ihr Zahl ist zu groß!");
            } else {
                geraten = true;
                JOptionPane.showMessageDialog(null,
            "Glückwunsch! Sie haben die Zahl mit "
            + versuchzaehler + " Versuchen erraten!");
                }
            }
        }
    }
}

Im Anhang ist noch mal der Fehler

Gruß kroko2001
 

Anhänge

  • Java ZahlRaten Fehler.PNG
    Java ZahlRaten Fehler.PNG
    4,2 KB · Aufrufe: 37
Zuletzt bearbeitet von einem Moderator:
Jetzt bleibt nur noch der erste Fehler, den ich nicht verstehe. Vielleicht kannst du mir da ja auch noch weiter helfen.

Die "public" Klasse einer Datei muss auch den gleichen Namen haben wie die Datei selber! Auch hier wird zwischen Groß-/Kleinschreibung unterschieden.

[ot]
Bitte poste deinen Java Code in den dafür vorgesehenen "
Java:
" Tags
[/ot]
 
Jetzt ist der Code

Java:
 package ratespiel;

import java.util.Random;
import javax.swing.JOptionPane;

public class ZahlRaten {
    private int zufallszahl;
    private int ratezahl;

    ZahlRaten() {
        ratezahl = -1;
    }

    void setZufallszahl(int z) {
        zufallszahl = z;
    }

    int getZufallszahl() {
        return zufallszahl;
    }

    void setRatezahl(int z) {
        ratezahl = z;
    }

    int getRatezahl() {
        return ratezahl;
    }

    public static void main(String[] args) {
        ZahlRaten spiel;

    spiel = new ZahlRaten();
    boolean geraten = false;
    int versuchzaehler = 0;
    JOptionPane.showMessageDialog(null,
                "Erraten Sie eine ganze Zahl aus dem Bereich von 1 bis 100!");
    Random randomGenerator = new Random();
    spiel.setZufallszahl(randomGenerator.nextInt(101));
    while (!geraten) {
        spiel.setRatezahl(Integer.parseInt(
                JOptionPane.showInputDialog("Welche Zahl wird gesucht")));
        versuchzaehler++;
        if (spiel.getRatezahl() < spiel.getZufallszahl()) {
            JOptionPane.showMessageDialog(null, "Ihr Zahl ist zu klein!");
        } else {
            if (spiel.getRatezahl() > spiel.getZufallszahl()) {
                JOptionPane.showMessageDialog(null, "Ihr Zahl ist zu groß!");
            } else {
                geraten = true;
                JOptionPane.showMessageDialog(null,
            "Glückwunsch! Sie haben die Zahl mit "
            + versuchzaehler + " Versuchen erraten!");
                }
            }
        }
    }
}

zwar richtig übersetzt worden, jedoch lässt er sich nicht ausführen😉
Im Anhang ist der gemeldete Fehler

PS: Ich hoffe ich benutze die
Java:
richtig ;-)

Gruß kroko2001
 

Anhänge

  • Java ZahlRaten Fehler.PNG
    Java ZahlRaten Fehler.PNG
    20,6 KB · Aufrufe: 46
Hallo Kroko,
dein Code lässt sich einwandfrei ausführen.
Wie führst du den Code denn aus?

Hier einmal dein Code als Runable Jarfile.

Gruß Simon
 

Anhänge

Un noch etwas du Programmierst im Window Editor? Guck dir bitte mal ganz schnell Netbeans oder die OpenSource Alternative Eclipse an das sind IDE Tool zu entwickeln von Java Software diese Unterstützen dich enorm bein Entwickeln mit Live Compilation und Auto Complimentation Tools.

Gruß Simon
 
Hallo Simon,

ich führe sie mit dem Befehl "jave xxx", also "java ZahlRaten" aus.

und in der Fragestellung habe ich schon gesagt das ich grade erst anfange und daher auf alles weitere erst mal verzichte.

gruß kroko2001
 
Hallo Kroko2001,
völliges Unverständnis meiner seits für das ich lasse alles andere weg...aber egal kein Mensch führt heutzutage ein einzelnes .java File auf dem Desktop aus. Pack es in ein Runable.jar oder benutz Netbeans bzw Eclipse da gibt es solche Probleme nicht.
 
Vielen Dank Simon für deine konkrete Hilfe,nächstes Mal kannst du es auch ganz weg lassen. Wie ich bereit schon mehr mals gesagt habe, fange ich gerade erst an und lasse eclipse etc. erst mal weg. Es geht auch ohne.

Vielleicht ist ein anderer User ja bereit es mir zu erklären?!
 
Hallo Kroko2001,

wenn ich aus deinem Code den package-Eintrag ganz oben entferne, lässt es sich auch über die Konsole starten. Warum, kann ich dir leider nicht erklären.

@Foxei
Ich persönlich arbeite auch lieber mit einer vernünftigen IDE, aber du wirst hier im Forum viele finden, welche den puristischen Ansatz befürworten. Man bekommt ein kleines Gefühl dafür, was da eigentlich im Hintergrund passiert.
 
Wenn du mit packages arbeitest, dann muss die Package-Struktur auch im Filesystem ihre Entsprechung finden.

Angenommen dein Arbeitsverzeichnis ist c:\myprg
  • Erzeuge einmal das Verzeichnis c:\myprg\ratespiel (=dein Package)
  • verschiebe ZahlRaten.java in das neue Verzeichnis
  • Lösche ZahlRaten.class
  • In c:\myprg ruft du nun folgedes auf:
    javac ratespiel/ZahlRaten.java
    java ratespiel.ZahlRaten
 

Zurück
Oben