doc muss vor dem switch-Statement deklariert werden.
Hintergrund: die geschweiften Klammern des switch-Statements bilden einen eigenen Sichtbarkeitsbereich. Hier deklarierte Variablen sind lokal für diesen Bereich und außerhalb nicht sichtbar.
Danke, so bekomme ich das "cannot be resolved" weg.
Aber er meldet mir immer noch "duplicate local veriable doc"
Ich hab den Quellcode nochmal editiert, wie es jetzt ausschaut.
Das mit dem Gültigkeitsbereich war n dummer Fehler von mir, aber warum meckert er immer noch?
das war kein dummer Fehler, du weißt einfach komplett nicht was du tust,
leider kann ich in deinen bisherigen 6 Postings kein einziges mit normalen Code zitieren
bevor du kompliziertes 'connectToWebsite', XML-Document usw. programmierst, gar ein switch ist schon vergleichsweise hoch,
wie wäre es mit Seite 1 eines Java-Lehrbuchs, wie geht man mit den elementarsten Grundlagen um?
was fällt dir an folgenden Code auf:
Danke, so bekomme ich das "cannot be resolved" weg.
Aber er meldet mir immer noch "duplicate local veriable doc"
Ich hab den Quellcode nochmal editiert, wie es jetzt ausschaut.
Das mit dem Gültigkeitsbereich war n dummer Fehler von mir, aber warum meckert er immer noch?
In den case Anweisungen muss das "Document" vor dem doc weg.
Die Variable wurde ja schon deklariert, daher ist das "Document" nun unnötig und erzeugt so nur eine neue Variable (Daher "duplicate")
Ich hab "Java ist eine Insel" bis Kapitel 5 gelesen. Bloß lernt man halt nichts allein durch lesen. Wenn ich am Anfang Fehler mache, ist das denke ich normal.
Und aus Fehlern lernt man ja bekanntlich. Von daher danke für das aufzeigen was falsch ist.
publicclassSwitch{publicstaticvoidmain(String[] args){int i =0;switch(i){case0:int j =0;return;default:int j =0;return;}}}
Hier wird mir auch nicht ganz klar, wieso der Compiler meckert. Ist er einfach nicht "klug" genug, um zu sehen, dass sich die beiden Variablen nie in den Weg kommen?
das stimmt, alle switch-Bereiche werden zusammengezählt, finde ich auch nicht schön,
man kann { } setzen
edit:
wobei Klugheit nicht reicht, eine normale Methode mit erlaubten
Java:
int j =0;return;int j =0;return;
hintereinander wäre ja nun wirklich auch nicht erstrebenswert,
wenn dann müssten die case generell eigene Sichtbarkeitsbereiche sein, so wie if else mit Klammern
falls du dich auch auf mein Posting beziehst:
kommt darauf an, man kann ein Durchfallen ohne break; auch erlauben, ohne dass die vorherigen Variablen sichbar sein müssen,
vergleichbar mit entsprechend verknüpften mehreren if-Bedingungen, nun eben ohne else
zu kompliziert? mag sein, deswegen ist es vielleicht wie es ist, aus meiner bisherigen Sicht hätte ich nix gegen eine Umstellung
Ah, {}-Blöcke kann man jederzeit einsetzen, um eigene Gültigkeitsbereiche zu definieren. Auch nett.
Ein eigener Gültigkeitsbereich für einzelne cases (wenn gebreakt (oh je, tolles Denglisch :autsch wird) und für mehrere cases (wenn man durchfallen lässt) wäre auf jeden Fall nicht schlecht.