Wieso ist der Code falsch?

...komplette Frage anzeigen

4 Antworten

Deine IDE unterstreicht nicht nur, deine IDE sagt dir auch, was sie konkret stört. Spätestens, wenn du versuchst, das Programm zu kompilieren, vielleicht auch schon, wenn du mit der Maus über die Unterstreichung gehst. Ich hab dein Programm mal in einem Online-Javacompiler getestet und drei mal folgende Meldung bekommen:

error: incomparable types: char and String

in der if-Anweisung und in der while-Schleife. Damit sollte zumindest klar sein, was das Problem ist. Wenn du das behebst, dann kommt anschließend:

Main method not found in class DeleteEvidence, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application

Es ist wichtig, dass deine IDE so eingerichtet ist, dass sie diese Fehlermeldungen anzeigt und dass du auch weißt, wo du diese Fehlermeldungen findest.

Variable reply ist vom typ char. Char wird mit ' behandelt und nicht mit "

Zumindest bei cpp,c,c#...

SirNik 29.07.2016, 09:35

in java genauso ;)

1

Das Semikolon hinter dem While muss weg. Das wird auch so wohl nicht so gut funktionieren. Sofern dein "Reply" was anderes als "j" oder "n" ist, würdest Du mit der Whileschleife in einen Deadlock laufen.

SirNik 29.07.2016, 09:35

es handelt sich um eine do-while, da muss ein ; hinter das while

2

1. es sollte wohl public static void main(String[] args) heissen

2. reply ein char, kein String, damit würde das == unterschiedliche Typen vergleichen, daher '' anstelle von ""

3. Strings sollte man NICHT mit == vergleichen sondern mit equals.

KnusperPudding 29.07.2016, 09:27

4. Static Imports können vor allem bei Anfängern massiven Problemen führen: 

import static System.out;

da man ja doch gerne mal eine eigene Outputstream Variable: out nennt und man sich dann frägt was das Problem liegt.

1
snipesss 29.07.2016, 09:34

Zu blöd dass das keine Strings sind sondern Char - Werte.

0
LeCux 29.07.2016, 09:36
@snipesss

Der Punkt 3 war vorraussehend als Hinweis gedacht - Strings auf Gleichheit prüfen ist nahezu immer falsch.

Sonst siehe Punkt 2: reply ist char, "j" ist aber ein String.

1

Was möchtest Du wissen?