Ausgabe des Variablenwerts

schachmaty

Mitglied
Guten Tag,
da dies mein erster Post ist, würde ich mich kurz vorstellen. Bin Erstsemesterstudent in Angewandter Informatik, 18 Jahre, mit wenig Vorkenntnissen im Programmieren außerhalb von statischen Websites mit HTML und CSS (den Vorwurf, HTML + CSS sei kein Programmieren, lasse ich mir gefallen). Im Rahmen des Studiums muss ich klassischerweise Java lernen. Jetzt in den Sommerferien habe ich einige der kostenlos zugänglichen Bücher des Rheinwerk-Verlags angefangen, durchzuarbeiten, und mir erstes Wissen in Betriebssystemen, Bash, Netzwerken, Protokollen, virtuellen Maschinen angeeignet und mir einen allgemeinen Überblick über das riesige Universum der IT und über gängige Anwendungen/Termini/Aufgabenbereiche/Stellenausschreibungen verschafft. Die Übungsblätter, generell das Studium, nehme ich sehr ernst, da ich so schnell wie möglich einen guten Job anstrebe. Mir ist natürlich klar, dass mir noch ein harter, und steiniger Weg bevorsteht. Umso wichtiger ist es mir, die Grundlagen zu verinnerlichen.
So, aber nun zu meiner Frage:
Java:
public class Aufgabe1 {
  public static void main(String[] args)
  throws IOException
  {       
        int zahl1;
        int zahl2;
        int zahl3;
        BufferedReader din = new BufferedReader(new InputStreamReader(System.in));
        System.out.print( "Bitte geben Sie eine ganze Zahl ein: "); 
        zahl1 = Integer.parseInt(din.readLine());
        zahl2 = Integer.parseInt(din.readLine());
        zahl3 = Integer.parseInt(din.readLine());
        if (zahl1 > zahl2) {
            if (zahl1 > zahl3) {
                int maxnumber = zahl1; }
        } else if (zahl2 > zahl1) {
            if (zahl2 > zahl3) {
            int maxnumber = zahl2;}
        } else if (zahl3 > zahl1) {
            if (zahl3 > zahl2) {
            int maxnumber = zahl3;}   
        }
        System.out.println("Die groesste Zahl ist " + maxnumber);
     }
 }
Programm soll drei Zahlen zahl1, zahl2 und zahl3 einlesen, die größte davon als int-Variable maxnumber initialisieren und am Ende ausgeben. Compiler gibt Fehler aus bei der Anweisung
Java:
System.out.println("Die groesste Zahl ist " + maxnumber);
error: compilation failed.
Google und Stackoverflow wurden zu Rate gezogen. Fündig wurde ich dort nicht.
Danke jedem, der sich die Zeit nimmt, mir zu helfen.
Grüße
 

Neumi5694

Top Contributor
Die Lösung: An dieser Stelle existiert maxnumber nicht. Alles, was zwischen geschweiften Klammern deklariert wird, ist auch nur in diesem Bereich sichtbar.
Gehe folgendermaßen vor:
Java:
int maxnumber; //Wichtig: an dieser Stelle keinen Wert zuweisen. Dann jammert der Compiler bei der späteren Verwendung der Variable, falls du einen Fall übersehen hast.
if (wasauchimmer) {
    maxnumber = irgendwas;
} else if(wasauchsonstimmer) {
    maxnumber = irgendetwasanderes;
} else {
    maxnumber = sonstwas;
}
System.out.println(maxnumber);
Setzt das Problem erst mal so um, das ist ein gute Übung.
Später schau dir mal die Methode java.util.Math.max(int, int) an.
 

Robertop

Bekanntes Mitglied
Die Deklaration von zahl1, zahl2 und zahl3 könnte man übrigens auch direkt dort machen, wo sie eingelesen werden. Das fände ich schöner:
Java:
int zahl1 = Integer.parseInt(din.readLine());
int zahl2 = Integer.parseInt(din.readLine());
int zahl3 = Integer.parseInt(din.readLine());
 
Zuletzt bearbeitet von einem Moderator:

temi

Top Contributor
Alles, was zwischen geschweiften Klammern deklariert wird, ist auch nur in diesem Bereich sichtbar.
Das ist auch der Grund, warum es überhaupt bis dahin funktioniert hat. Eine Variable kann in einem Gültigkeitsbereich nur einmal deklariert werden. Da es sich um unterschiedliche Gültigkeitsbereiche handelt, hast du drei gleichnamige Variablen deklariert, die sich jeweils in einem eigenen Gültigkeitsbereich befinden:
Java:
        if (zahl1 > zahl2) {
            if (zahl1 > zahl3) { // hier beginnt ein Gültigkeitsbereichs
                int maxnumber = zahl1; // hier deklarierst du eine Variable maxnumber
            } // hier endet die Gültigkeit der Variablen
        } else if (zahl2 > zahl1) {
            if (zahl2 > zahl3) { // Beginn Bereich
            int maxnumber = zahl2; // hier deklarierst du eine weitere, neue Variable maxnumber
            } // Ende Bereich
        } else if (zahl3 > zahl1) {
            if (zahl3 > zahl2) { // Beginn Bereich
            int maxnumber = zahl3; // und hier noch einmal
            } // Ende Bereich
        }
 
Zuletzt bearbeitet:

Robertop

Bekanntes Mitglied
Mal eine andere Frage: Wo schreibst du deinen Programmcode und wie kompilierst du den? Das Problem, dass die Variable unten bei der Ausgabe nicht existiert, müsste in einer IDE eigentlich sofort angezeigt werden.

Falls du bisher alles über einen Editor und die Konsole machst: Mit einer IDE wie Eclipse wird das Leben als Entwickler direkt viel einfacher. ;)
 

schachmaty

Mitglied
Mal eine andere Frage: Wo schreibst du deinen Programmcode und wie kompilierst du den? Das Problem, dass die Variable unten bei der Ausgabe nicht existiert, müsste in einer IDE eigentlich sofort angezeigt werden.

Falls du bisher alles über einen Editor und die Konsole machst: Mit einer IDE wie Eclipse wird das Leben als Entwickler direkt viel einfacher. ;)
Bisher nur Editor und Compiler. Man sagte uns, Eclipse sei zwar sehr mächtig, aber noch zu kompliziert für uns.
 
K

kneitzel

Gast
Bisher nur Editor und Compiler. Man sagte uns, Eclipse sei zwar sehr mächtig, aber noch zu kompliziert für uns.
Also Eclipse ist sehr komplex, aber die Funktionalität muss man ja nicht komplett nutzen.

Und es gibt noch andere IDEs, die deutlich Anfänger-freundlich sind. Ich bin z.B. total begeistert von Intellij und würde das auch jedem Anfänger ans Herz legen. NetBeans kenne ich nicht im Detail, aber das soll auch anfängerfreundlich sein.

Eclipse ist halt die Eierlegendewollmilchsau. Ich habe eine Ecliple Installation, die Java, JEE, C++ und RCP/RAP umfasst ... Und wenn ich wollte, würde da auch Python und sonst was mit der einen Installation funktionieren! Mit dem richtigen AddOn kocht Eclipse übrigens auch Kaffee, steuert Autos autonom durch den Verkehr, ....

Aber generell ist es so, dass eine IDE massiv bei dem Schreiben von Code unterstützt. Gerade das automatische Einrücken und die Unterstützung beim Eintippen von Code ist super. Und man kann nicht früh genug anfangen, mit den Funktionen herum zu spielen, also so Dinge wie diverse Refactorings und so ...
 

Neumi5694

Top Contributor
In den IDEs legt man gleich Projekte an, die man für die Basisinfos nicht braucht.
Um sich etwas mit dem Ganzen beschäftigen zu müssen, mag der Weg über einen reinen Texteditor schon der richtige sein.
Selbst hab ich auch damit angefangen und ich bereue nichts :)
Langfristig führt um IDEs aber nur selten ein Weg rum.
Die IDEs lassen ein Modul mitlaufen, das in Echtzeit das in etwa das macht, was sonst der Compiler macht, markieren fehlerhafte Stellen, bevor man tatsächlich kompiliert.

Es gibt übrigens Texteditoren und Texteditoren.
Editoren wie Notepad++ oder Atom kennen die Formatierung verschiedener Progammiersprachen und können dabei hilfreich sein, z.B. fehlende geschlossene Klammern zu finden.

Edit:
@kneitzel Netbeans und Eclipse halten sich in etwa die Waage, schenken sich gegenseitig nichts.
Hab mit beiden schon gearbeitet, da ist ist kein wirklich großer Unterschied, wenn man sich daran gewöhnt hat, wo welche Menüs und Module zu finden sind. Persönlich mag ich Netbeans aber lieber, wahrscheinlich aus Gewohnheit.
 

mihe7

Top Contributor
Grundsätzlich gilt, dass man mit jeder der großen IDEs vernünftig arbeiten kann. Von der Bedienung her würde ich NetBeans eher mit IntelliJ vergleichen (wobei ich jetzt kein regelmäßiger Nutzer von IntelliJ bin). Eclipse verfolgt ein für mich eher seltsam anmutendes Konzept von Workspaces und Perspectives. NetBeans passt da eher zu meiner Denkweise.
 

M.L.

Top Contributor
Rheinwerk-Verlags ... virtuellen Maschinen
Randhinweis: hier gibt (und gab) es einige Veränderungen und Erweiterungen deren effektiven Sinn und Einsatzzweck man (längerfristig) auch beachten sollte. Bei virt. Maschinen z.B. "Docker" und "Kubernetes". Die Java-Bücher dort sind (eher) für Fortgeschrittene gedacht. Und bei der IDE könnte man sich bei replit.com anmelden: erlaubt das Teilen (und Sicherungen erstellen) von Java-Codes und lässt sich schnell starten und bedienen (v.a. allem im Vergleich zu einer mit vielen Plugins ausgerüsteten IDE...)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
M Methode zielnah zeigt das gewünschte Ausgabe nicht an Java Basics - Anfänger-Themen 3
M Ausgabe beim Overloading Java Basics - Anfänger-Themen 3
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
B Binärzahlen auflisten, falsche Ausgabe? Java Basics - Anfänger-Themen 1
M Java Ausgabe der höchsten Zahl Java Basics - Anfänger-Themen 14
M Erste Schritte While Schleife / Ausgabe von buchstabe & ASCII Wert Java Basics - Anfänger-Themen 4
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
B Automatisierte Ausgabe (Schleife, If-Abfrage?) Java Basics - Anfänger-Themen 24
C 2D Array Ausgabe mit for-Schleife i,j Java Basics - Anfänger-Themen 4
B Deadlock verstehen der Ausgabe! Java Basics - Anfänger-Themen 12
Lion.King Ausgabe mit Eigenschaften Java Basics - Anfänger-Themen 4
D Java Pattern mit X Ausgabe Stern Java Basics - Anfänger-Themen 4
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
Xaver code Tastatur ausgabe Java Basics - Anfänger-Themen 4
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
K Leerzeile in Konsolen-Ausgabe Java Basics - Anfänger-Themen 4
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Q return Ausgabe Java Basics - Anfänger-Themen 4
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
I Ausgabe nicht nur senkrecht sondern auch waagerecht. Java Basics - Anfänger-Themen 2
paulen1 Methoden Unerwünschte Ausgabe bei System.out.print in For-Schleife Java Basics - Anfänger-Themen 8
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
F Double Ausgabe nicht wissenschaftlich Java Basics - Anfänger-Themen 16
danieldemetry Java - Graph Komponenten - Ausgabe Java Basics - Anfänger-Themen 0
S Fragen zu Ausgabe double und float Java Basics - Anfänger-Themen 3
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
D BigDecimal Ausgabe sehr lang. Java Basics - Anfänger-Themen 2
J String Ausgabe Java Basics - Anfänger-Themen 2
TimoN11 IntelliJ , Ausgabe von einem Quellcode in Eingabe eines Quellcodes Java Basics - Anfänger-Themen 1
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
KogoroMori21 Array-Ausgabe Java Basics - Anfänger-Themen 6
JaVaN0oB Wörterraten - Falsche Ausgabe, String/Chars vergleichen Java Basics - Anfänger-Themen 2
E Ausgabe überschreiben Java Basics - Anfänger-Themen 15
D Ausgabe von Array Java Basics - Anfänger-Themen 2
U Ausgabe Java Basics - Anfänger-Themen 4
J Buchstabenhäufigkeit mit Array und Ausgabe des häufigsten Buchstaben Java Basics - Anfänger-Themen 25
V Multiplikationstafel - Ausgabe Java Basics - Anfänger-Themen 4
L Warum ist die Ausgabe anders als das was im Bezeichner steht? Java Basics - Anfänger-Themen 4
M In gleicher zeile hinter ausgabe noch etwas ausgeben Java Basics - Anfänger-Themen 1
newcomerJava Nach doppelter Zahl eine Ausgabe Java Basics - Anfänger-Themen 10
H Falsche Ausgabe Java Basics - Anfänger-Themen 2
P Klassenübergreifende Ausgabe mittels "getter" nicht möglich Java Basics - Anfänger-Themen 21
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
D Warum erfolgt folgende Ausgabe und warum? Java Basics - Anfänger-Themen 4
C Ausgabe in der Konsole Java Basics - Anfänger-Themen 11
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
K Methodenaufruf /-ausgabe Java Basics - Anfänger-Themen 5
A Wiederholte Ausgabe vermeiden Java Basics - Anfänger-Themen 16
B Collections Objektreferenz-ID in der Ausgabe (Comparator Interface) Java Basics - Anfänger-Themen 2
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
T Vererbung Verschiedene Fahrzeugtypen mit unterschiedlicher Ausgabe Java Basics - Anfänger-Themen 17
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Unterklassen (Klasse für Ausgabe) Java Basics - Anfänger-Themen 4
N Eingabe des Users direkt hinter die Ausgabe Java Basics - Anfänger-Themen 3
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
ZH1896ZH Wieso diese Ausgabe?? Java Basics - Anfänger-Themen 10
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
B Keine Ausgabe .. Woran liegt das? Ich komme nicht weiter Java Basics - Anfänger-Themen 14
K Rechtsbündige Ausgabe von Zahlen Java Basics - Anfänger-Themen 6
V Erste Schritte for-Schleife; Ausgabe soll alle 5 Sekunden erfolgen. Java Basics - Anfänger-Themen 4
X Threads Zwei Threads, aber doppelte Ausgabe verhindern (synchronized) Java Basics - Anfänger-Themen 54
J Ausgabe Gesamtpreis Java Basics - Anfänger-Themen 39
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
B HQL / Hibernate, GroupBy und Ausgabe als Double Java Basics - Anfänger-Themen 1
J StrinBuffer in der Ausgabe Java Basics - Anfänger-Themen 4
H ausgabe? Java Basics - Anfänger-Themen 32
B Ausgabe Zahlenreihe Horizontal Java Basics - Anfänger-Themen 3
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
K Array Ausgabe Java Basics - Anfänger-Themen 2
L Datentypen Ausgabe von eigenem Datentypen Java Basics - Anfänger-Themen 2
C 1x1 Ausgabe auf dem Bildschirm Java Basics - Anfänger-Themen 3
L Fehler im Programm bei Ausgabe Java Basics - Anfänger-Themen 21
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
F Warum ist die Ausgabe hier 1? Java Basics - Anfänger-Themen 4
Bun17 Keine Ausgabe in der Konsole Java Basics - Anfänger-Themen 2
H Ausgabe Java Basics - Anfänger-Themen 6
U Ausgabe von Dateiinhalt während Programmnutzung fehlerhaft Java Basics - Anfänger-Themen 3
Jackii ArrayList ausgabe ohne Dopplung Java Basics - Anfänger-Themen 11
F Erste Schritte Subnet Calculator - Ausgabe der NetID und der Broadcast Java Basics - Anfänger-Themen 4
D Wiederholende Ausgabe Java Basics - Anfänger-Themen 3
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
A Datei Ein und Ausgabe FileWriter und printWriter Java Basics - Anfänger-Themen 5
S Doppel For Schleife mit Arrays - Problem bei der Ausgabe Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben