Hallo Leute, kennt sich hier jemand mit Java Programmieren aus?
Ich verstehe nicht warum das alles Falsch ist.
Danke für eure hilfe
5 Antworten
Jede Java-Klasse, die öffentlich ist, muss auch in einer eigenen .java-Datei stehen. Du hast hier zwei Klassen, nämlich "Lagerverwaltung" und "Main". Außerdem müssen (!) in Java Methodennamen mit einem Kleinbuchstaben beginnen. Du kannst also keine Methode "LagerTauschEinzel" deklarieren.
Dem kann ich nur zustimmen.
Du darfst auch griechische oder kyrillische Buchstaben sowie Währungszeichen als Variablennamen nehmen. Selbst Umlaute sind erlaubt.
Methodennamen sollten mit einem Kleinbuchstaben anfangen. Von einem müssen ist weit und breit nicht in der Sprache festgelegt.
Dann ist es andersrum und Klassennamen müssen mit Großbuchstaben beginnen. Eines von beiden wird auf jeden Fall mit einem Compilerfehler quittiert.
Keines der beiden Elemente muss mit einem Großbuchstaben beginnen.
Doch. Klassennamen müssen mir Großbuchstaben beginnen. Zumindest hat der Compiler das früher so gefordert.
Dieses Beispielprogramm kann ich problemlos kompilieren und ausführen:
public class main {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
Probiere es bei dir aus. Einen weiteren Nachweis kann ich an dieser Stelle nur anhand eines Online-Compilers teilen: https://ideone.com/j2b2vv
Was du mit früher konkret meinst, weiß ich nicht.
Hm, jetzt habe ich es selber mal ausprobiert und Du hast Recht. Ich meine mich tatsächlich zu erinnern, dass es vor 15 Jahren oder so mal so war, dass Klassennamen mit Großbuchstaben und Methodennamen mit Kleinbuchstaben beginnen mussten (nicht nur sollten). Komisch.
Wir sind uns aber zumindest einig, dass der Dateiname der Java-Datei von der Groß-/Kleinschreibung her mit dem Klassennamen übereinstimmen muss? :-D
Was steht denn da, wenn du mit der Maus auf die rot unterstrichene Zeile zeigst? (Normalerweise geht da ein Infofeld auf, wo der genaue Fehler drinsteht.)
Bei den unteren Fehlern kann ich mir vorstellen, dass die Klasse "Lager" nicht gefunden wird und der Codeeditor daher nicht weiß, welche Methoden und Eigenschaften die Klasse hat. Genauere Details kannst du aber auch da sehen, wenn du mit der Maus auf die fehlerhafte Zeile zeigst.
Der einzige offensichtliche Fehler, den ich finden kann ist das vergessene Semikolon bei "altesLager.lagerbestand.remove()"
hmm okay aber wie mache ich das dann mit der klasse lager?
Die Klasse "Lager" muss im gleichen Package, wie die Java-Datei sein, wo du grade drin bist (oder halt im Package "Stunde7_2"). Guck doch erstmal, ob das überhaupt der Fehler ist. Also Maus drauf halten und schauen, was in der Fehlermeldung steht.
Wie heißt der Dateiname?
Lagerverwaltung.java oder lagerverwaltung.java?
Die Klasse Main auf gleicher Ebene wie die Class Lagerverwaltung ist unglücklich. Die würde ich in eine eigene Datei auslagern. Das gibt weniger Ärger.
Was sagt denn Compiler dazu? Da sollte stehen wo der Fehler liegt.
LG Knom
MAUS DRAUF. Dann weißt du's.
Ich werde mal blind Raten, dass die Datei nicht "Lagerverwaltung.java" heißt.
Jo, stimmt ja auch. Dagegen sehe ich nirgendwo die Klasse "Lager", die du die ganze Zeit versuchst zu verwenden....
Das mit dem Kleinbuchstaben stimmt so nicht. Es ist empfehlenswert, Methoden- und Variablennamen mit einem Kleinbuchstaben anzufangen und viele IDEs werden auch einen Hinweis anzeigen, wenn man davon abweicht, aber der Compiler hat kein Problem damit, wenn der Name mit einem Großbuchstaben anfängt. Das Programm lässt sich trotzdem kompilieren und starten.