...
Nun kann man das Programm wie gewohnt per Rechtsklick → Run As → Java Application starten.
Warum funktioniert mein Test nicht?
Zunächst sollten alle Testdurchläufe bei Bedarf eine Fehlermeldung erzeugen. Diese könnt ihr sehen, wenn ihr auf den entsprechenden Durchlauf klickt. In den meisten Fällen sollte die Fehlermeldung eigentlich schon erklären, was falsch läuft. Ein paar Meldungen können aber trotzdem nochmal erklärt werden.
Expand | ||
---|---|---|
| ||
Falls wir das abgegebene Programm nicht kompilieren konnten, wird diese (oder zumindest eine ähnliche) Fehlermeldung erzeugt: Für Kompilierfehler gibt es normalerweise zwei Ursachen:
|
Expand | ||
---|---|---|
| ||
Wir akzeptieren nur Java-Code in den automatischen Tests. Eine Stolperfalle ist, dass auch im iLearn die Programmiersprache auf Java eingestellt werden muss. Hierzu müsst ihr in der kleinen Box oberhalb eurer Abgabe Java auswählen. Als kleiner Bonus habt ihr dann auch ein schönes Syntax-Highlighting in eurer Abgabe. |
Expand | ||||
---|---|---|---|---|
| ||||
Manche Fehlermeldungen beginnen mit "The following output was generated checking the style of your code:" Die meisten Formatierungsprobleme können in Eclipse recht einfach mit Ctrl-Shift-F (Cmd-Shift-F) behoben werden. Es gibt jedoch Ausnahmen, wie die folgenden, wobei wir gerne gerne noch Ergänzungen dieser Liste entgegennehmen:
Hier ist das Problem, dass der Variablenname nicht mit einem Kleinbuchstaben beginnt. Zur Erklärung der Fehlermeldung: "^" steht für den Anfang des Namens, dann soll ein Kleinbuchstabe kommen, dann beliebig viele Buchstaben oder Ziffern, dann mit "$" das Ende des Namens.
Die (in diesem Fall zugegebenermaßen nicht sehr hilfreiche) Fehlermeldung hätte lauten sollen: "'}' should be on the same line as the else keyword". Der Code hier sah folgendermaßen aus:
Die Fehlermeldung verschwindet bei folgendem Code:
|
...
title | d) Der Test geht gar nicht |
---|
Es kann eine andere Fehlermeldung mit einem Fehlercode angezeigt werden. Üblicherweise ist das kein Fehler von euch (zur Ausnahme siehe b), sondern etwas ist an unserer Infrastruktur kaputt. Bitte meldet solche Fehler bei eurem Übungsgruppenleiter und/oder bei cds.
...
Wie man die main
-Methode ganz schnell durch Eclipse generieren lassen kann steht übrigens im nächsten Eintrag.
Warum sagt Java mir irgendwas von 32 und 64 Bit?
Beim Starten des Programms kommt eine Fehlermeldung wie diese hier:
Code Block |
---|
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\xxxxx\GCMDLN.DLL: Can't load IA 32-bit .dll on a AMD 64-bit platform |
Das liegt oft an einem von zwei Dingen:
- Es fehlt eine
main
-Methode (siehe vorige Frage). - Es wurde versucht, das Programm durch Klick auf den Start-Knopf in Eclipse zu starten. Besser funktioniert es, mit der rechten Maustaste in den Code zu klicken und per Run As → Java Application zu starten. Dann weiß Eclipse nämlich exakt, was zu starten ist, während es beim Klick auf den Start-Knopf gegebenenfalls (falsch) rädt.
Wie kann ich in Eclipse schnell die main
-Methode generieren?
Man kann Eclipse so konfigurieren, dass man zum Schreiben unserer main
-Methode nur acmmain
eingeben muss und dann durch Strg+Leertaste Eclipse bitten kann, die komplette Methode zu implementieren.
Expand | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
|
Warum funktioniert mein Test nicht?
Zunächst sollten alle Testdurchläufe bei Bedarf eine Fehlermeldung erzeugen. Diese könnt ihr sehen, wenn ihr auf den entsprechenden Durchlauf klickt. In den meisten Fällen sollte die Fehlermeldung eigentlich schon erklären, was falsch läuft. Ein paar Meldungen können aber trotzdem nochmal erklärt werden.
Expand | ||
---|---|---|
| ||
Falls wir das abgegebene Programm nicht kompilieren konnten, wird diese (oder zumindest eine ähnliche) Fehlermeldung erzeugt: Für Kompilierfehler gibt es normalerweise zwei Ursachen:
|
Expand | ||
---|---|---|
| ||
Wir akzeptieren nur Java-Code in den automatischen Tests. Eine Stolperfalle ist, dass auch im iLearn die Programmiersprache auf Java eingestellt werden muss. Hierzu müsst ihr in der kleinen Box oberhalb eurer Abgabe Java auswählen. Als kleiner Bonus habt ihr dann auch ein schönes Syntax-Highlighting in eurer Abgabe. |
Expand | ||||
---|---|---|---|---|
| ||||
Manche Fehlermeldungen beginnen mit "The following output was generated checking the style of your code:" Die meisten Formatierungsprobleme können in Eclipse recht einfach mit Ctrl-Shift-F (Cmd-Shift-F) behoben werden. Es gibt jedoch Ausnahmen, wie die folgenden, wobei wir gerne gerne noch Ergänzungen dieser Liste entgegennehmen:
Hier ist das Problem, dass der Variablenname nicht mit einem Kleinbuchstaben beginnt. Zur Erklärung der Fehlermeldung: "^" steht für den Anfang des Namens, dann soll ein Kleinbuchstabe kommen, dann beliebig viele Buchstaben oder Ziffern, dann mit "$" das Ende des Namens.
Die (in diesem Fall zugegebenermaßen nicht sehr hilfreiche) Fehlermeldung hätte lauten sollen: "'}' should be on the same line as the else keyword". Der Code hier sah folgendermaßen aus:
Die Fehlermeldung verschwindet bei folgendem Code:
|
Expand | ||
---|---|---|
| ||
Es kann eine andere Fehlermeldung mit einem Fehlercode angezeigt werden. Üblicherweise ist das kein Fehler von euch (zur Ausnahme siehe b), sondern etwas ist an unserer Infrastruktur kaputt. Bitte meldet solche Fehler bei eurem Übungsgruppenleiter und/oder bei cds. |
Warum warnt mich Eclipse davor, dass eine "serialVersionUID" fehlt?
Aus Gründen. Ist egal. Das kann man aber ausschalten. Dafür einfach die Anleitung ausklappen…
Expand | ||
---|---|---|
| ||
|
Ich kann schon Java!
...