java main methode kann nicht kompiliert werden (Erstellen eines Objekts)

D

dannzu

Mitglied
Hallo alle zusammen,
ich bin relativ neu im Umgang mit java (1. Semester CSE) und habe folgendes Problem:

Wir sollen einen "Zug" zusammenbauen und der Compiler gibt mir folgenden Error:
12708


Meine Waggon und Train-Klasse:

Code:
package sheet08;



//a)
public class Waggon {
    private int SitzGesamt, SitzReserviert, SitzFrei ;
    private int Klasse;
    private String Doppelwagen;
    private int WCbesetzt, WCfrei , WCdefekt;
    private String WaggonHinten;
    

    


//b)
//Getter & Setter


public int getSitzGesamt() {
    return SitzGesamt;
}

public void setSitzGesamt(int sitzGesamt) {
    SitzGesamt = sitzGesamt;
}

public int getSitzReserviert() {
    return SitzReserviert;
}

public void setSitzReserviert(int sitzReserviert) {
    SitzReserviert = sitzReserviert;
}

public int getSitzFrei() {
    return SitzFrei;
}

public void setSitzFrei(int sitzFrei) {
    SitzFrei = sitzFrei;
}

public int getKlasse() {
    return Klasse;
}

public void setKlasse(int klasse) {
    Klasse = klasse;
}

public String getDoppelwagen() {
    return Doppelwagen;
}

public void setDoppelwagen(String doppelwagen) {
    Doppelwagen = doppelwagen;
}

public int getWCbesetzt() {
    return WCbesetzt;
}

public void setWCbesetzt(int wCbesetzt) {
    WCbesetzt = wCbesetzt;
}

public int getWCfrei() {
    return WCfrei;
}

public void setWCfrei(int wCfrei) {
    WCfrei = wCfrei;
}

public int getWCdefekt() {
    return WCdefekt;
}

public void setWCdefekt(int wCdefekt) {
    WCdefekt = wCdefekt;
}

public String getWaggonHinten() {
    return WaggonHinten;
}

public void setWaggonHinten(String waggonHinten) {
    WaggonHinten = waggonHinten;
}

//default Constructor
public Waggon() {
    
}
//Constructor
public Waggon(int sitzGesamt, int sitzReserviert, int sitzFrei, int klasse, String doppelwagen, int wCbesetzt,
        int wCfrei, int wCdefekt, String waggonHinten) {
    super();
    SitzGesamt = sitzGesamt;
    SitzReserviert = sitzReserviert;
    SitzFrei = sitzFrei;
    Klasse = klasse;
    Doppelwagen = doppelwagen;
    WCbesetzt = wCbesetzt;
    WCfrei = wCfrei;
    WCdefekt = wCdefekt;
    WaggonHinten = waggonHinten;
}

// e)
public String toString(){
    String strSitzGesamt = String.valueOf(SitzGesamt);
    String strSitzReserviert = String.valueOf(SitzReserviert);
    String strSitzFrei = String.valueOf(SitzFrei);
    String strKlasse = String.valueOf(Klasse);
    String strWCbesetzt = String.valueOf(WCbesetzt);
    String strWCfrei = String.valueOf(WCfrei);
    String strWCdefekt = String.valueOf(WCdefekt);
    
    return strSitzGesamt + "-" + strSitzReserviert + "-" + strSitzFrei + "-" + strKlasse + "-" + Doppelwagen + "-" + strWCbesetzt + "-" +
            strWCfrei + "-" + strWCdefekt + WaggonHinten;
    
}


}

Code:
package sheet08;

public class Train {

    int Baureihe;
    String Antriebsart;
    int PS;
    int Höchstgeschwindigkeit;
    int WaggonDahinter;
    
    
    
    
    //Getter&Setter
    public int getBaureihe() {
        return Baureihe;
    }
    public void setBaureihe(int baureihe) {
        Baureihe = baureihe; //this.baurihe = baureihe
    }
    public String getAntriebsart() {
        return Antriebsart;
    }
    public void setAntriebsart(String antriebsart) {
        Antriebsart = antriebsart;
    }
    public int getPS() {
        return PS;
    }
    public void setPS(int pS) {
        PS = pS;
    }
    public int getHöchstgeschwindigkeit() {
        return Höchstgeschwindigkeit;
    }
    public void setHöchstgeschwindigkeit(int höchstgeschwindigkeit) {
        Höchstgeschwindigkeit = höchstgeschwindigkeit;
    }

    
    public int getWaggonDahinter() {
        return WaggonDahinter;
    }
    public void setWaggonDahinter(int waggonDahinter) {
        WaggonDahinter = waggonDahinter;
    }

    
    //default Constructor
    public Train() {
    }
    
    
    //Constructor
    public Train(int baureihe, String antriebsart, int pS, int höchstgeschwindigkeit, int waggonDahinter) {
        super();
        Baureihe = baureihe;
        Antriebsart = antriebsart;
        PS = pS;
        Höchstgeschwindigkeit = höchstgeschwindigkeit;

    }
    
//e)
    
    public String toString(){
        String strBaureihe = String.valueOf(Baureihe);
        String strPS = String.valueOf(PS);
        String strHöchstgeschwindigkeit = String.valueOf(Höchstgeschwindigkeit);
        
        return strBaureihe + "-" + Antriebsart + "-" + strPS + "-" + strHöchstgeschwindigkeit;
    }

    

}

und im folgenden noch meine Main-Methode:

Code:
package sheet08;

import java.util.Random;

public class Test {
    
    public static void main( String[] args ) {
        Random WCkaputt = new Random();
        int WCdefekt = WCkaputt.nextInt(100)+1;
        System.out.println("Die Toilette ist zu " + WCdefekt + " % kaputt");
        
        Train t1 = new Train (412, "elektrisch", 13500, 250, 1);
        Waggon w1 = new Waggon(50, 24, 3, 1, "doppelstock", 0, 0, 0, "1 Waggon dahinter"); //keine Angabe über die WC-Anzahl
        Waggon w2 = new Waggon(100, 12, 64, 2, "doppelstock", 0, 0, 0, "1 Waggon dahinter");
        Waggon w3 = new Waggon(100, 32, 11, 2, "doppelstock", 0, 0, 0, "1 Waggon dahinter");
        Waggon w4 = new Waggon(50, 17, 3, 1, "doppelstock", 0, 0, 0, " kein Waggon dahinter");
        
        System.out.println(t1);
        System.out.println(w1);
        System.out.println(w2);
        System.out.println(w3);
        System.out.println(w4);
        
    //cannot find symbol Train & Waggon   
        //Variable als Train1 im typ train abspeichern
        
        

}
}

Ich habe noch einmal überprüft dass meine Klassen : Attribute eingegeben wurden, Getter & Setter haben und dass ich Konstruktoren habe.
Was ich allerdings komisch finde ist, dass ich die Main-Methode in der Eclipse Console angeguckt habe, und da alles funktioniert hat:
12709

Tipps und Anregungen wären hilfreich, da ich seit gestern den Fehler suche und langsam keine Ideen mehr habe!
Danke im Vorraus!!
 
kneitzel

kneitzel

Top Contributor
Die Klassen sind ja in unterschiedlichen Dateien. Der Compiler schaut sich aber nur die Datei an, die Du gerade übersetzt.

Was Du jetzt machen kannst:
- Die Dateien alle zusammen übersetzen: javac Test.java Waggon.java Train.java
Dann kennt der Compiler auch die entsprechenden Klassen.
- Die Klassen in der richtigen Reihenfolge übersetzen (so dies möglich ist).
Also wenn Waggon z.B. weder Test noch Train nutzt, dann kannst Du ein javac Train.java machen
Dann kannst Du z.B. den Waggon übersetzen. Damit er aber den Train kennt (so er diesen braucht) musst Du ihm sagen, wo er die Klasse findet: -cp . -> javac -cp . Waggon.java
Ebenso dann auch javac -cp . Test.java

Üblich ist aber ersteres oder eben eine IDE nutzen, die das macht. Die IDE hat dann ein Projektmanagement und kümmert sich dann auch darum, dass alles übersetzt wird. So man keine IDE haben will, kann man aber auch ein Build Tool nutzen wie ant, maven oder gradle.
 
H

httpdigest

Top Contributor
Wenn du javac aufrufst, solltest du nicht in einem konkreten Package sein, sondern im src-Ordner, in dem deine Packages und darin deine Java-Dateien liegen. Also nicht in `src/sheet08/` (was ein Package ist), sondern in `src/`. Dann kappts auch mit `javac sheet08/Test.java`.
Hint: Der javac Compiler sucht selbstständig nach den .java Dateien von referenzierten Klassen (und kompiliert diese selbstständig), auch wenn du sie nicht selbst auf der Kommandozeile angibst. Das klappt aber nur, wenn du in einem Source-Root bist und nicht innerhalb eines Packages.
 
D

dannzu

Mitglied
Ich habe alles zusammen kompiliert und es hat keinen Error mehr ausgeben.
Danke für deine schnelle Rückmeldung!

Ich habe noch eine kurze Frage:
An sich hätte ich die beiden Klassen nicht importieren müssen, weil alles im gleichen package ist oder?
 
kneitzel

kneitzel

Top Contributor
Ich habe noch eine kurze Frage:
An sich hätte ich die beiden Klassen nicht importieren müssen, weil alles im gleichen package ist oder?
Ja, wenn die Klassen im gleichen Package sind, musst Du diese nicht importieren.

Der Hinweis von httpdiggest ist aber noch wichtig - das hatte ich ganz übersehen:
Wenn du auch ein package hast (hier "sheet08"), dann übersetzt man nicht aus dem Verzeichnis der Dateien heraus, sondern man ist dann im "root".
Das Package gibt man dann bei der Datei mit an, also z.B. javac sheet08\Test.java sheet08\Train.java sheet08\Waggon.java

Da wird dann auch schnell deutlich: Sowas macht man in der Regel nicht mehr von Hand :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
AssELAss Klassen Java Klasse in main-methode ausführen Java Basics - Anfänger-Themen 7
B Java Programm ohne statische Main Methode aufrufen Java Basics - Anfänger-Themen 5
M Main methode innerhalb von Java aufrufen Java Basics - Anfänger-Themen 11
G Wieso brauch java keine main() Methode? Java Basics - Anfänger-Themen 20
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
J Compiler-Fehler Java findet main Klasse nicht Java Basics - Anfänger-Themen 16
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
I Fehlermeldung: Java does not contain a main type Java Basics - Anfänger-Themen 1
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
P Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 1
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Exception in thread main java.lang.StackOverflowError Java Basics - Anfänger-Themen 3
A Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 7
T Java Main aus Subversion aufrufen / Hook einbinden Java Basics - Anfänger-Themen 2
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
M Exception in thread "main" java.lang.NoClassDefFoundError: MeineKlasse Java Basics - Anfänger-Themen 12
E Schach in Java-Applet <No main classes found> Java Basics - Anfänger-Themen 5
S Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 11
D java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 11
S Umgebungsvariable Exception in thread "main" java.lang.UnsatisfiedLinkError: no J3D in java.librar y.path Java Basics - Anfänger-Themen 15
S Compiler-Fehler java.lang.SecurityException: Invalid signature file digest for Manifest main attributes Java Basics - Anfänger-Themen 5
G Kleine Java Programme aus Main Java Programm starten..... Java Basics - Anfänger-Themen 3
M Klassen Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 2
F Ich kenn mich nicht mehr aus - 'java.lang.NoSuchMethodError: main' in Applet? Java Basics - Anfänger-Themen 2
Y java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 9
S die main in java Java Basics - Anfänger-Themen 6
B Exception in thread "main" java.lang.NullPointerException Fehler Hilfe! Java Basics - Anfänger-Themen 4
A Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 16
P Hello World-Programm: XPSP3 mit Java 1.6.0_16: Could not find main class Hello.java Java Basics - Anfänger-Themen 11
B Fehlermeldung - Exception in thread "main" java.lang.Error: Unresolved compilation pr Java Basics - Anfänger-Themen 16
E Fehler: "Exception in thread "main" java.lang.NoSuchMethodError" Java Basics - Anfänger-Themen 15
J java.lang.NoSuchMethodError: main -> obwohl in Programm ? Java Basics - Anfänger-Themen 4
G Fehler: Exception in thread main java.lang.noClassDefFound Java Basics - Anfänger-Themen 7
L Exception in thread "main" java.util.NoSuchElement Java Basics - Anfänger-Themen 4
A Do/While Problem (Exception in thread "main" java. Java Basics - Anfänger-Themen 4
M "exception in thread "main" java.lang.NullPoi Java Basics - Anfänger-Themen 2
S Exception in thread "main" java.lang.UnsupportedCl Java Basics - Anfänger-Themen 4
V Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 21
S Exception in thread "main" java.lang.NoSuchMethodE Java Basics - Anfänger-Themen 3
NightmareVirus Exception in thread "main" java.lang.NoSuchMethodE Java Basics - Anfänger-Themen 8
A "Exception in thread "main" java.lang.NoCLass Java Basics - Anfänger-Themen 10
N java.lang.NoClassDefFoundError: main Java Basics - Anfänger-Themen 6
E java.lang.NoSuchMethodError: main ? Java Basics - Anfänger-Themen 3
C Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 9
vogella Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 4
F java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 2
R Exception in thread "main" java.lang.NoSuchMethodE Java Basics - Anfänger-Themen 6
J "main" java.lang.NoClassDefFoundError: PortENum Java Basics - Anfänger-Themen 9
J Java Anwendung starten ""faild to load main class Java Basics - Anfänger-Themen 15
C exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 7
C Java-Anfang main void public? Java Basics - Anfänger-Themen 5
A Fehlermeldung: Exception in thread "main" java.lan Java Basics - Anfänger-Themen 3
H Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 3
L Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerEx Java Basics - Anfänger-Themen 10
G Fehlermeldung "java.lang.NoSuchMethodError: main" Java Basics - Anfänger-Themen 3
L Exception in thread "main" java.lang.NoSuchMethodE Java Basics - Anfänger-Themen 3
K Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 8
J Exception in thread "main" java.langClassNoFoundEr Java Basics - Anfänger-Themen 2
H Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 5
O Exeception in thread "main" java.lang.NoClassDefFo Java Basics - Anfänger-Themen 3
B Fehler: Exception in Thread "main" java.lang.NoCla Java Basics - Anfänger-Themen 2
G Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 2
TimoN11 Java Klassen Global einbinden Java Basics - Anfänger-Themen 1
H Binominalkoeffizient tail-rekursiv in java darstellen Java Basics - Anfänger-Themen 0
H Audio in Java Java Basics - Anfänger-Themen 3
I Erklärung zum Java Code Java Basics - Anfänger-Themen 2
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
R Java (Eclipse) "Lagerverwaltung" HILFE Java Basics - Anfänger-Themen 13
TimoN11 Java - Eine oder mehrere Eingaben möglich machen Java Basics - Anfänger-Themen 6
M Rekursive Java-Methode Java Basics - Anfänger-Themen 13
M Java Spiel wie Wer wird Millionär Java Basics - Anfänger-Themen 1
bafou Dreieckszahlen in java Java Basics - Anfänger-Themen 3
P Best Practice Druck aus Java Anwendung in MacOs Java Basics - Anfänger-Themen 0
G Java 2-dimensionalen int-Array Summe Java Basics - Anfänger-Themen 2
B java.time Duration mit Kommazahl? Java Basics - Anfänger-Themen 4
Devin Wo kann man einen Java Lehrplan finden? Java Basics - Anfänger-Themen 5
KogoroMori21 Java Datum Differenz (kleiner Fehler) Java Basics - Anfänger-Themen 10
O Java Weinachtsbaum in einem Bilderramen Java Basics - Anfänger-Themen 5
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
Gaudimagspam Dringend Java Hilfe benötigt Java Basics - Anfänger-Themen 19
M Java Kompilieren über Package grenzen hinaus Java Basics - Anfänger-Themen 4
N java.util.InputMismatchException Fehler Java Scanner Java Basics - Anfänger-Themen 1
Gaudimagspam BMI in Java implementieren Java Basics - Anfänger-Themen 38
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
S Sprung mit Java (GameGrid) Java Basics - Anfänger-Themen 9
Devin Wie lange braucht man um Java zu beherrschen und wie kann man es am schnellsten erlernen? Java Basics - Anfänger-Themen 7
G Java Klassen und Instanzmethoden Java Basics - Anfänger-Themen 15
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
C java.util Timer läuft zu langsam? Java Basics - Anfänger-Themen 1
T Klassendiagramm in Java überführen Java Basics - Anfänger-Themen 2
Gaudimagspam Caesars Code entziffern in Java Java Basics - Anfänger-Themen 8
V Gehalt berechnen in Java Java Basics - Anfänger-Themen 6
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Anzeige

Neue Themen


Oben