Java-Programmierung. Mehrfachauswahl?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
if(...); {} 

Das Semikolon unterbricht die If-Anweisung und trennt sie vom nachfolgenden Codeblock. Dadurch wird zuerst die Bedingung geprüft, dann nichts getan und anschließend immer der Codeblock ausgeführt. Das Semikolon ist fehl am Platz.

du hast jeweils ein Semikolon nach der if-Bedingung

Dies bedeutet, dass dein Befehl abgeschlossen ist. Dein auszuführender Block steht also einfach so da ...

if (iEingabe > 0 && iEingabe < 99);{
  ; // steht hier mal stellvertretend für deinen Code.
}

wäre auch gleichzusetzen mit:

if (iEingabe > 0 && iEingabe < 99);
{
  ; // steht hier mal stellvertretend für deinen Code.
}

Damit ist zwar dein showMessageDialog in einem eigenen Scope, verändert aber an der Logik nichts

EDIT: als Ergänzung: Überlege dir auch mal (oder probiere es aus), was denn passiert, wenn jemand KEINEN Integer eingibt, sondern z.B. "Baum" - und wie du das verhindern kannst

die semicolons bei dem if sind falsch.

Dir scheint die bedeutung von einem semicolon nicht klar zu sein, schlag das mal nach.

Auch sollten schließende geschwungene klammern immer ne eigene zeile haben in java und semicolons das letzte zeichen einer zeile sein. Funktioniert auch falsch, aber ist besser das richtig zu formatieren.


jort93  01.03.2020, 19:25

Also, wenn du eine einzeilige anweisung hast wie:

for(int i, i<10, i++) {
doSomething();
}

Dann finde ich es noch einigermaßen akzeptabel zu schreiben:

for(int i, i<10, i++) { doSomething(); }

Aber sonst, semicolon immer letztes zeichen in einer zeile und schließende klammer in eigener zeile. Das ist eine ausnahme.

Eine öffnende klammer ist meißt in der selben zeile(wie bei dir oder bei meinem letzen beispiel auch), aber viele programmierer die aus C kommen machen das in ner neuen zeile, das ist also nicht so schlimm.

Übrigens, du kannst deine if bedingungen auch ohne klammern in einer zeile schreiben.

Lösch das Semikolon nach der schließenden runden if-Klammer