Quellcode kann nicht kompiliert werden

marvx6

Mitglied
Hallo liebe Community,
bin ganz neu in Java und habe auch schon das erste Problem, an dem ich zurzeit festsitze.

Ich habe das Buch Java von Kopf bis Fuß - in diesem Buch tippte ich diesen code ab,
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);
        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 eins tippte" + tipp1);
           tipp2 = s2.zahl;
           System.out.println("Spieler zwei tippte" + tipp2);
           tipp3 = s3.zahl;
           System.out.println("Spieler drei 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;

          } else {

               System.out.println("Die Spieler müssen es erneut versuchen.");



}


}

}
}

public class Spieler {
     int zahl = 0;


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();

    }
}
der sich aber einfach nicht kompilieren lässt.
Ich habe es mit der Konsole versucht und mit Netbeans

Konsole
Code:
marvin@marvin-VGN-FW54M:~/Dokumente$ javac SpielStarter.java
SpielStarter.java:9: class Ratespiel is public, should be declared in a file named Ratespiel.java
public class Ratespiel {
       ^
SpielStarter.java:82: class Spieler is public, should be declared in a file named Spieler.java
public class Spieler {
       ^
2 errors

Netbeans
Code:
[Exception in thread "main" java.lang.NoClassDefFoundError: ratespiel/SpielStarter
Caused by: java.lang.ClassNotFoundException: ratespiel.SpielStarter
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: ratespiel.SpielStarter. Program will exit.
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)/CODE]
marvin@marvin-VGN-FW54M:~/Dokumente$
Ich bekomme immer wieder diese Error-Meldung, weiß aber nicht was ich ändern soll und falschen Code dürfen die ja auch nicht in ein Buch reinschreiben :D ?!


Hoffe ihr könnt mir helfen
Mfg Marvx6
 

marvx6

Mitglied
Sollte das nicht der Compiler tun ?
Wenn ich in der Konsole
Code:
javac SpielStarter.java
eingebe, erstellt der doch eigentlich dann die Klassen aus der Datei heraus und die JVM sollte sie dann ausführen ?

Im Buch wird auch nicht explizit darauf hingewiesen ?
 

marvx6

Mitglied
Okay danke hab jetzt alles in 3 verschiedenen Dateien mal untergebracht und den Spielstarter über die Konsole nachdem kompilieren ausgeführt - läuft prima
Vielen Dank ;)

Mfg Marvx6
 
C

Camino

Gast
Na ja, steht ja auch schon in der Fehlermeldung:
Code:
class Spieler is public, should be declared in a file named Spieler
Du kannst halt schon weitere Klassen in die eine Datei reinschreiben, aber es darf nur eine public sein, soweit ich weiss. Bei kleinen Progrämmchen kann das evtl. sinnvoll sein, bei grösseren Projekten wird das schnell unübersichtlich.
 

Anykey

Mitglied
Du musst für jede Klasse eine eigene .java Datei erstellen, die den gleichen Namen wie die darin enthaltene Klasse haben muss. Compilieren musst du nur die Klasse mit der main-Methode alle anderen benötigten Klassen compiert der Compiler dann von alleine.
 

tagedieb

Top Contributor
Innere Klassen werden nur selten verwendet (Ausnahme anonyme Klassen). Als Anfaenger wuerd ich auf innere Klassen verzichten und pro Klasse ein eigenes File erstellen.
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
M Mein quellcode wird nicht in der Konsole ausgegeben Java Basics - Anfänger-Themen 3
F Quellcode wird nicht in cmd angezeigt Java Basics - Anfänger-Themen 8
M Verstehe das Programm(Quellcode) nicht!! Java Basics - Anfänger-Themen 12
J Tabelle aus Website einlesen [nicht im Quellcode] Java Basics - Anfänger-Themen 6
U Netzwerk Chatprogramm Quellcode funktioniert nicht Java Basics - Anfänger-Themen 6
I Kann nicht compilieren warum? Bei großen Quellcode. Java Basics - Anfänger-Themen 8
B Kann Quellcode von "Hanoi" nicht verstehen. Bitte Java Basics - Anfänger-Themen 4
M Verstehe den Quellcode nicht ganz Java Basics - Anfänger-Themen 3
J Frage zum Quellcode - Zusammhänge und Ablauf. Java Basics - Anfänger-Themen 2
amelie123456 Objekt Farbe Quellcode Java Basics - Anfänger-Themen 4
jhCDtGVjcZGcfzug Was genau ist mit diesem Quellcode gemeint? Java Basics - Anfänger-Themen 5
jhCDtGVjcZGcfzug Was ist mit diesem Quellcode gemeint? Java Basics - Anfänger-Themen 3
J Wie bestehenden Quellcode in IDE richtig übernehmen Java Basics - Anfänger-Themen 27
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
H Quellcode Scanner Klasse Java Basics - Anfänger-Themen 2
P Quellcode LinkedList Java Basics - Anfänger-Themen 2
M Bitte um Hilfe bei Quellcode (Rekursion) Java Basics - Anfänger-Themen 6
N Erste Schritte Quellcode fehlerhaft Java Basics - Anfänger-Themen 2
J Methoden Quellcode DP Fibonaaci erklärt Java Basics - Anfänger-Themen 5
L Fehler in Quellcode?! Java Basics - Anfänger-Themen 3
D Generics ArrayList: Bug im Quellcode Java Basics - Anfänger-Themen 14
G Wie kann ich mein Quellcode als Programm vom desktop starten? Java Basics - Anfänger-Themen 1
Hacer Quellcode lesen Java Basics - Anfänger-Themen 13
M Greenfoot World und Actor Quellcode Java Basics - Anfänger-Themen 13
B Quellcode einelsen "line by line" (und abspeichern in file (txt) Java Basics - Anfänger-Themen 7
G Quellcode verstehen Java Basics - Anfänger-Themen 9
F Quellcode optimieren... Java Basics - Anfänger-Themen 4
U Java Quellcode Schaltjahr Java Basics - Anfänger-Themen 13
D Quellcode verstehen Java Basics - Anfänger-Themen 4
G Quellcode "splitten" Java Basics - Anfänger-Themen 6
V Array ermitteln - in Quellcode speichern Java Basics - Anfänger-Themen 15
J Quellcode von einem Link kriegen? Java Basics - Anfänger-Themen 3
W Datentypen String in Quellcode umwandeln Java Basics - Anfänger-Themen 25
O Quellcode nach bestimmter Ausgabe durchsuchen Java Basics - Anfänger-Themen 14
J Java-Quellcode Java Basics - Anfänger-Themen 13
T Quellcode zur .jar oder .exe Java Basics - Anfänger-Themen 7
D Verbesserungsvorschläge zum Quellcode Java Basics - Anfänger-Themen 15
P Suche Java Programme mit gutem/anfängertauglichem Quellcode Java Basics - Anfänger-Themen 8
S Grafische Oberfläche Quellcode ändern Java Basics - Anfänger-Themen 8
T Quellcode zu Jar? Java Basics - Anfänger-Themen 14
S Erste Schritte Fakultät Quellcode Java Basics - Anfänger-Themen 12
E Quellcode Erklärung Java Basics - Anfänger-Themen 8
N Feste Hardcodierte Pfade im Quellcode Java Basics - Anfänger-Themen 6
S Allgemein: Quellcode einrücken Java Basics - Anfänger-Themen 8
W Kurzer Quellcode klein aber oho! Java Basics - Anfänger-Themen 7
H frage zu meinem quellcode Java Basics - Anfänger-Themen 10
M String in Quellcode umwandeln Java Basics - Anfänger-Themen 9
S Textfragmente aus Quellcode lesen und abspeichern Java Basics - Anfänger-Themen 2
A Quellcode aus diesem Forum für komerzielle Zwecke/Bachelor Thesis? Java Basics - Anfänger-Themen 4
F Datei Quellcode Java Basics - Anfänger-Themen 8
W Hilfe bei Interpretation von Quellcode Java Basics - Anfänger-Themen 8
X Webseite auslesen ohne Quellcode zu splitten Java Basics - Anfänger-Themen 3
A log4j - wie kann ich im Quellcode initialisieren statt in der properties-Datei? Java Basics - Anfänger-Themen 2
N Quellcode absichern? Java Basics - Anfänger-Themen 21
M mit java quellcode im browser öffnen Java Basics - Anfänger-Themen 1
hdi Programmier-Stil : Speicher vs. Quellcode Java Basics - Anfänger-Themen 67
M Quellcode verbessern Java Basics - Anfänger-Themen 6
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
A Änderung im Quellcode > javac > keine Änderung in Kons Java Basics - Anfänger-Themen 6
C Quellcode richtig bisher? wie gehts weiter? Java Basics - Anfänger-Themen 13
S Problem mit url, inputStream und bytes beim Quellcode laden. Java Basics - Anfänger-Themen 6
D quellcode in webseite einbinden Java Basics - Anfänger-Themen 7
D Fragen zu Quellcode QuickSorter Java Basics - Anfänger-Themen 13
F Quellcode & Ausgabe Java Basics - Anfänger-Themen 6
M Java Quellcode in eine exe datei umwandeln Java Basics - Anfänger-Themen 4
G Quellcode kommentieren Java Basics - Anfänger-Themen 6
S html quellcode runterladen Java Basics - Anfänger-Themen 2
D Quellcode richtig lesen lernen Java Basics - Anfänger-Themen 8
S Von einer jar.Datei den Quellcode. Java Basics - Anfänger-Themen 1
A Jar Datei im Quellcode einbinden Java Basics - Anfänger-Themen 3
G Problem mit Quellcode! Java Basics - Anfänger-Themen 15
D Import von Quellcode Java Basics - Anfänger-Themen 2
H Wo in GUI-Klasse bringe ich Quellcode unter? Java Basics - Anfänger-Themen 8
O mathematische Formel in quellcode Java Basics - Anfänger-Themen 5
M Quellcode einschränken?! Java Basics - Anfänger-Themen 6
L Fehler im simplen Quellcode! Java Basics - Anfänger-Themen 2
W Sieht jemand was, was ich nicht sehe...? (Debugging) Java Basics - Anfänger-Themen 10
A Signierte Exe Datei funktioniert nicht mehr Java Basics - Anfänger-Themen 1
A Signierte Exe Datei funktioniert nicht mehr Java Basics - Anfänger-Themen 3
C my_table.setRowSelectionAllowed(true) funktioniert nicht; Java Basics - Anfänger-Themen 0
B Warum funktioniert die Lösung von CodeGym aber meine nicht? Java Basics - Anfänger-Themen 3
P Wo NUR (!) JRE v18 oder v21 herunterladen? Also nicht volles JDK Java Basics - Anfänger-Themen 1
J shuffle cards wird nicht ausgeführt. Java Basics - Anfänger-Themen 2
J JTextField -> CaretPos bei SelectionStart() setzten nicht bei SelectionEnd() Java Basics - Anfänger-Themen 20
W Java-PRogramm liest als EXE-File Nicht USB, jedoch aus NetBeans Java Basics - Anfänger-Themen 45
I Webservice funktioniert nicht Java Basics - Anfänger-Themen 5
C Abbruch einer Schleife mit break, meine Übung funktioniert nicht richtig Java Basics - Anfänger-Themen 4
SarahXyy Ergebnisse stimmen nicht überein? Java Basics - Anfänger-Themen 11
thomas55 Erste Schritte Modul läuft in IntelliJ, nicht in NetBeans Java Basics - Anfänger-Themen 11
G Nicht ausführbares JAR, externe jars mit einbinden Java Basics - Anfänger-Themen 7
S Erstes Programm: Hallo Welt funktioniert nicht. Java Basics - Anfänger-Themen 3
O Obfuscateter Code lässt sich nicht ausführen? Java Basics - Anfänger-Themen 7
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
G Regex greift nicht richtig Java Basics - Anfänger-Themen 4
G JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
G JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben