Java Programmieren Lernen – Einfache Ausgaben und Eingaben

In dieser Lerneinheit wird die einfache Eingabe und Ausgabe von Text behandelt.

Für die Java-Programmierung ist das Ausgeben von einfachen Botschaften sehr wichtig. Mit Hilfe von I/O-Routinen kann der Programmieren mit seinem Programm interagieren. Er kann den Programmstatus abfragen oder aber den Programmablauf mit Eingaben steuern.

Im Folgenden werden wir zuerst  einen einfachen Text von unserem Programm ausgeben lassen und anschließend unser Programm mit einer Standard-Eingabe steuern.

Eine einfache Ausgabe in Java programmieren

In diesem Beispiel geben wir zwei Zeichenketten auf dem Bildschirm aus. Wir verwenden dazu den Befehl  System.out.println.

Einfache Ausgabe in Java

/*
 * Die EingabeAusgabe Klasse implementiert eine Anwendung, 
 * die einfachen Text ausgibt.
 */

public class EingabeAusgabe {
    public static void main(String[] args) {
        System.out.println("Geben Sie die Laenge L ein:");
        System.out.println("Geben Sie die Breite B ein:");
    }
}

Mit dem Java-Compiler erstellen wir aus dem Java-Quelltext die Class-Datei (Bytecode). Dazu geben wir javac EingabeAusgabe.java in der Kommandozeile ein.

Anschließend führen wir mit dem Java-Interpreter die Class-Datei (unser Java-Programm) aus. Dazu benutzen wir den Befehl java EingabeAusgabe.

plhq_teaser_hbox_gelb_fotolia_RA Studio_46292813

Unser großes
Android Online-Kurs
Gesamtpaket



Weitere Infos

Wenn alles funktioniert, dann bekommen wir die folgenden zwei Zeilen ausgegeben:

Geben Sie die Laenge L ein:
Geben Sie die Breite B ein:

Anhand folgender Abbildung könnt Ihr die Vorgehensweise noch einmal nachvollziehen. Mit dem Befehl dir prüfen wir, ob die Quelldatei EingabeAusgabe.java in dem Verzeichnis vorhanden ist.

Einfache Ausgabe in Java programmieren

Konsolenausgabe einer einfachen Text-Ausgabe in Java (Kommandozeile)

Eine einfache Eingabe in Java programmieren

Wir möchten nun die Fläche eines Rechtecks berechnen lassen. Dazu geben wir die Länge und Breite des Rechtecks in unser Java-Programm ein.

Für das Einlesen von Daten über die Kommandozeile verwenden wir den Eingabe-Stream System.in, für das Ausgeben des Ergebnisses den Ausgabe-Stream System.out.

Einfache Eingabe und Ausgabe in Java

 * Die EingabeAusgabe Klasse implementiert eine Anwendung, 
 * die einfachen Text ausgibt und Ganzzahlen einliest.
 */

import java.util.Scanner;

public class EingabeAusgabe {
    public static void main(String[] args) {
        int L, B, F;

        Scanner eingabewert = new Scanner(System.in);

        System.out.print("Geben Sie die Laenge L ein (in cm): ");
        L = eingabewert.nextInt();
        System.out.print("Geben Sie die Breite B ein (in cm): ");
        B = eingabewert.nextInt();
        F = L * B;
        System.out.println("Die Flaeche des Rechtecks ist: " + F + " cm^2");
    }
}

Mit Hilfe einer Instanz der Scanner-Klasse lesen wir zwei Integer-Werte (Ganzzahlen) ein und speichern diese in den Variablen L und B ab. Anschließend wird die Fläche F nach der Formel F = L * B berechnet und über die Kommandozeile ausgegeben.

Die Ausgabe des Ergebnisses geschieht in Zeile 20, dabei wird eine Zeichenkette aus zwei String-Objekten und einem Integer-Wert und mit Hilfe des +-Operators zusammengesetzt.

Wird für die Länge 125 und für die Breite 75 eingegeben, erhält man folgende Ausgabe:

Geben Sie die Laenge L ein (in cm): 125
Geben Sie die Breite B ein (in cm): 75
Die Flaeche des Rechtecks ist: 9375 cm^2

Anhand folgender Abbildung könnt Ihr die Vorgehensweise noch einmal nachvollziehen.

Einfache Eingabe/Ausgabe in Java programmieren

Konsolenausgabe einer einfachen Eingabe/Ausgabe in Java (Kommandozeile)

Vorsicht! Wenn du einen Buchstaben eingibst, tritt ein Fehler auf, der abgefangen werden sollte. In diesem Beispiel wird der Fehler nicht abgefangen und das Java-Programm bricht automatisch ab (wird beendet).

Der Fehler tritt auf, weil in Zeile 16: L = eingabewert.nextInt(); die Eingabezeile ausgelesen wird. Dabei wird ein Integer-Wert (Ganzzahl) erwartet. Wenn der Benutzer etwas anderes als eine ganze Zahl eingegeben hat, dann wird das Java-Programm sofort aufgrund der Fehleingabe beendet.

Für Fortgeschrittene: Mit Zeile 6: import java.util.Scanner; wird die Scanner-Klasse des Pakets java.util bekanntgemacht. Dadurch weiß der Java-Compiler über die Scanner-Klasse Bescheid und kann den Java-Quelltext übersetzen. Ohne diese Import-Anweisung würde der Java-Compiler die Scanner-Klasse nicht finden und uns mit einer entsprechenden Fehlermeldung darüber informieren.


Comments 6

  1. Hallo,

    gibt es eine Möglichkeit diesen Scanner auch mit einem anderen Datentyp, z.B.: String, Double, char, etc. zu verwenden?

    1. Post
      Author

      Hallo Anton,

      ja, das lässt sich bewerkstelligen. Die verschiedenen Eingaben können wie folgt als Variable gespeichert werden:

      import java.util.Scanner;
       
      public class EingabeAusgabe {
          public static void main(String[] args) {
               
              Scanner eingabewert = new Scanner(System.in);
      
              String stringValue = eingabewert.nextLine();
              int intValue = eingabewert.nextInt(); 
              long longValue = eingabewert.nextLong(); 
              double doubleValue = eingabewert.nextDouble();
              char charValue = eingabewert.next().charAt(0);
      
              System.out.println("Long-Wert: " + longValue);
          }
      }
      

      Viele Grüße,
      Chris

  2. den hier erklärten Scanner-input(so nenne ich ihn jetzt mal) kann man anscheinend nicht in einer Schleife verwenden.
    Falls ich mich irre hoffe ich, jemand kann mich berichtigen, da ich dies in einem meinerb programme brauche!

  3. Pingback: Der Einstieg in die Welt der Java-Programmierung -

  4. Hallo,
    In Zeile 12 und 14 wird die Variable eingabewert zweimal verwendet. Ich bin gerade dabei mich mit der Sprache Java zu beschäftigen.
    Ich habe zwei Variablen eingabewert1 und eingabewert2 benutzt und entsprechend eingabewert1.nextInt() und eingabewert2.nextInt() verwendet. Dann läuft dass Programm bei mir ohne Fehler.

    Mit freundlichen Grüßen

    Norbert

    1. Post
      Author

      Hallo Norbert,

      vielen Dank für deinen Hinweis. Die Variable eingabewert muss nur einmal deklariert/initialisiert werden. Ich hatte dies wie du richtig festgestellt hast, zweimal getan. Dadurch gab es einen Compiler-Fehler. Den Fehler habe ich jetzt berichtigt. Das Programm sollte jetzt so wie es im Beitrag steht laufen.

      Viele Grüße, Chris

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.