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.
 
Ä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
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
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 16
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
richis-fragen JTable den angezeigten WERT nicht den Wert aus dem Model ausgeben. Java Basics - Anfänger-Themen 3
richis-fragen 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
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
N Klassen Hintergrundfarbe in JPanel ändert sich nicht Java Basics - Anfänger-Themen 3
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
K Verstehe Rekursion nicht ganz Java Basics - Anfänger-Themen 7
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben