Java: Warum kann ich meine Variable außerhalb der IF nicht println?

...komplette Frage anzeigen

5 Antworten

Du legst die lokale Variable "name1" erst in der if-Abfrage fest. Wenn du danach versuchst darauf zuzugreifen, geht das logischerweise nicht.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Sapzalp95
20.10.2016, 00:31

Kann die die Variable vorher festlegen und in der if-Abfrage benennen.

Sprich den abgefragten namen zuweisen?

0

In objektorientierten Sprachen wie Java sind Variablen nur in dem Block und Unterblöcken bekannt in denen sie deklariert werden.
Dein name1 ist somit nur in dem if bekannt.
Wenn du es danach noch brauchst, solltest du die Variable vor dem if deklarieren und in den if nur den Wert verändern.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Isendrak
20.10.2016, 13:04

Nicht nur in Objektorientierten Sprachen... Auch in C/C++, Python, usw...

P.S.: Ja, C++ und Python haben auch Objekt-/Modulunterstützung, sind aber nicht von Grund auf Objektorientiert...

0

Leg dein Name1 über dem if an, ansonsten zählt für lokale Variable nur darin.

Antwort bewerten Vielen Dank für Deine Bewertung

Guck mal genau hin.

Willst du wirklich name1 ausgeben? Das ist der Name deines InputStreams. Ein schlecht gewählter Name würde ich sagen. Nenne ihn lieber input1, dann wird dein Programm auch gleich leserlicher.

Du willst namePerson1 ausgeben. Diese Vriable solltest du außerhalb des if-Blocks deklarieren.

Antwort bewerten Vielen Dank für Deine Bewertung

Der zweite Aufruf erfolgt außerhalb des Scopes, in dem die Variable "name1" deklariert wurde.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?