Skip to main content

Eine Java Konsoleneingabe machst du über den Scanner

Es wird Zeit für die erste Java Konsoleneingabe.
Und diese Eingaben machst du über den Java Scanner.

Was ist das?
Der Scanner ist eine vorgefertigte Java Klasse, welche Java mit seiner API anbietet.

Das heißt du musst nichts selbst erschaffen.
Du musst nur wissen, wie du darauf zugreifst.

Erst einmal musst du einen Scanner anlegen.

Das heißt:
Für eine Konsoleneingabe, musst du ein Objekt der Scanner Klasse anlegen.

Und so kannst du ein neues Scanner Objekt erzeugen.

Die Scanner Klasse befindet sich in einem Paket.
Und dieses Paket befindet sich in der bereits angesprochenen API Bibliothek.

Ich nutze die Chance und schau einmal in den Java API Docs nach.

Java Konsoleneingabe Standardklassen

Ganz links siehst du die einzelnen Java Klassen aufgelistet.
Die Liste ist alphabetisch sortiert.
Scroll doch einfach einmal nach unten bis zur Scannerklasse.

In der Dokumentation steht schon alles, was du brauchst.

Ganz oben siehst du, in welchem Paket sich der Scanner befindet.
Dieses package musst du über die Importanweisung in dein Java Projekt importieren.

Java Konsoleneingabe Package

Weiter unten siehst du schon ein komplettes Beispiel.
Java Konsoleneingabe Beispiel

Dieses Beispiel kannst du komplett übernehmen.


import java.util.Scanner; //Importanweisung für den Scanner
 
public class ScannerTest {
 
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // neues Scanner-Objekt sc
int i = sc.nextInt(); // lokale Variable speichert die Eingabe
}
}

Jetzt lass und das Ganze einmal näher anschauen.

Du legst als erstes das Scanner-Objekt an.
Im Beispiel heißt diese Referenzvariable „rc“.

Und dann rufst du den entsprechenden Konstruktor auf, um ein neues Objekt zu erschaffen.
In der Parameterliste des Scanner-Konstruktors, siehst du die „System.in“ Anweisung.

Diese bewirkt, dass eine Konsoleneingabe eingelesen und ausgewertet wird.

Den Wert, welchen du eingeben wirst, wird dann in der lokalen Variable gespeichert.
Der Wertebereich muss Integer sein, da die Variable so deklariert wurde.

Die Methode „nextInt()“ bewirkt das Lesen.

Falls du jetzt auf „Run“ klickst und das Programm startest, passiert noch nichts weltbewegendes.

Lass uns das ändern.

Lass uns die Eingabe in der Java Konsole ausgeben.

Wir benötigen zwei Dinge.

  1. Eine Eingabeaufforderung, welche nach dem Programmstart den User auffordert eine Zahl einzugeben.
  2. Und eine Konsolenausgabe, welche dann die zuvor eingegebene Zahl zurückgibt.

Um Fehler zu vermeiden, sollte in der Eingabeaufforderung schon der Wertebereich stehen.
Und für Integer-Werte kannst du diesen über die Klassenkonstanten von Integer abrufen.

  • Integer.MIN_VALUE
  • Und Integer.MAX_VALUE

Und so könnte der Java Code aussehen:


import java.util.Scanner; //Importanweisung für die Scanner Klasse
 
public class ScannerTest {
 
public static void main(String[] args) {
System.out.println("Gib eine Zahl zwichen "+Integer.MIN_VALUE+" und "+Integer.MAX_VALUE+" ein!");
Scanner sc = new Scanner(System.in); 
int i = sc.nextInt(); 
System.out.println("Die Zahl "+i+" wurde eingeben.");
}
}

Klicke auf „Run“.
Zum Programmstart wirst du aufgefordert eine Zahl einzugeben.

Gib eine x-beliebige Zahl im entsprechenden Datenbereich ein und klicke „Return“ auf deiner Tastatur.
Diese Zahl wird dir zurückgegeben.

Java Konsoleneingabe Zahl einlesen

Nicht schlecht, oder?

Aber da geht noch mehr.

Die nextInt() Methode gibt lediglich den nächsten Integer-Wert auf der Konsole zurück.

Die Java Konsoleneingabe funktioniert nicht nur mit einer Zahl.
Du kannst auch mehr Zahlen übergeben.

Zum Beispiel:
Gib in der Java Konsole einmal zwei Zahlen ein, beispielswiese 17 und 4.

Die Ausgabe ist dann 17.

Wieso das?
Der Name „nextInt()“ sagt es schon.
Es wird immer der nächste Integer-Wert gespeichert.
Java beginnt ganz vorn und sagt sich: „Jawohl 17 ist eine Zahl und der Wert wird gespeichert.“

Falls du jetzt der Konsole zwei Zahlen mitgeben willst, benötigst du eine zweite Variable.
So wie hier:


import java.util.Scanner;
 
public class ScannerTest {
 
public static void main(String[] args) {
System.out.println("Gib zwei Zahlen zwischen "+Integer.MIN_VALUE+" und "+Integer.MAX_VALUE+" ein!");
Scanner sc = new Scanner(System.in); 
int i = sc.nextInt(); 
int j = sc.nextInt();
System.out.println("Erste Zahl: "+i);
System.out.println("Zweite Zahl: "+j);
}
}

In der Java Dokumentation kannst du dir alle Methoden und alle Konstruktoren der Scanner Klasse einmal anschauen.
Du kannst:

  • float-Werte über nextFloat() speichern.
  • Text-Werte über next() speichern.
  • usw.

Zusammenfassung:

  • Eine Java Konsoleneingabe machst du über die Scanner Klasse.
  • Diese Klasse besteht bereits.
    Du musst lediglich das package importieren.
    Und dann kannst du einen neuen Scanner anlegen.
  • Dabei bietet dir die Scanner Klasse ein Menge Konstruktoren und auch Methoden an.
  • Um eine Konsoleneingabe auf der Java Konsole entgegenzunehmen, benötigst du die Variable „in“ aus der System-Klasse.
    Und diese übergibst du direkt im Konstruktor des Scanners.
  • Durch Methoden wie „nextInt()“, „nextFloat()“ usw. kannst du deine Konsoleneingaben lesen und in Variablen abspeichern.

Ähnliche Beiträge

Java Vererbung – Die Hierarchien richtig planen

Java Vererbung Hierarchien

Java Vererbung hat nichts mit Biologie zu tun. Die Genetik besagt, dass bestimmte Merkmalsausprägungen von den Eltern auf die Kinder übergehen. Solche Merkmalsausprägungen sind: die Hautfarbe die Haarfarbe die spezifische Größe und weitere körperliche Merkmale. Und in Java – was ist da Vererbung? Lass es uns herausfinden. Was erwartet dich in diesem Beitrag? Zuerst schauen […]

Java lernen von Kopf bis Fuß

Wenn du Java lernen möchtest, kannst du an meinem kostenlosen Java Kurs teilnehmen. Aber manch Einer hätte gern eine zweite Meinung. Und da bieten sich natürlich Java Bücher an. Eines dieser Java Bücher möchte ich dir jetzt vorstellen. Dieses Buch nennt sich „Java von Kopf bis Fuß“. Was kannst du von diesem Buch erwarten? Also […]

Java Objekte leben auf dem Heap

Java-Objekte-Heap

Java hat eine interne Speicherverwaltung. Eigentlich ist es nicht nur eine. Es sind mehrere.   Uns interessieren nur zwei. Methoden und lokale Variablen werden auf dem Stack verwaltet. Und die Speicherverwaltung für Java Objekte und den Instanzvariablen findet auf dem Heap statt.   Ja wieso braucht Java eigentlich zwei Speichersysteme?   Es ist ganz einfach. […]

Java lernen – 10 nützliche Tipps für Java Anfänger

Java Lernen Anfänger

Wenn du die Programmiersprache Java lernen möchtest, bist du hier prinzipiell erst einmal richtig. Und wenn du es wirklich ernst meinst und in die Java Programmierung einsteigen möchtest, solltest du auch meinen kostenlosen Java Kurs beanspruchen. Wenn du dabei bist, bekommst du: Eine Lektion pro Woche zu den Basics. Hier geht es um die ersten […]

Java Polymorphie – besserer Code und mehr Möglichkeiten

Java Polymorphie Vorteile

Polymorphie ist das Herzstück jeder objektorientierten Sprache. Nicht nur in Java – auch in Python, Javascript und in anderen Sprachen. Aber was bedeutet Polymorphie eigentlich? Polymorphie oder auch Polymorphismus genannt, kommt aus dem Griechischen. Es bedeutet Vielgestaltigkeit. Etwas freier übersetzt, kannst du es auch als Facettenreichtum bezeichnen. Im Grunde genommen zielt die ganze Java Vererbung […]

Java Binärzahl in Dezimalzahl umwandeln – So geht’s.

Java-Binärzahl-umrechnen

Erinnerst du dich? In einer der letzten Beiträge haben wir uns die Zusammenhänge zwischen dem dualen und dem dezimalen Zahlensystem angeschaut. Aber wir haben noch keine Java Binärzahl in eine Dezimalzahl verwandelt. Zumindestens nicht praktisch…. Stattdessen…. Haben wir festgestellt, dass beide Zahlensysteme im Grunde genommen sehr ähnlich sind. Beim Dezimalsystem spielt die Zahl 10, als […]

Heap & Stack – Die Speicherverwaltung in Java

Java Speicher

Java nutzt eine interne Speicherverwaltung. Eigentlich sind es mehrere. Uns interessieren lediglich zwei. Da das Thema Speicherverwaltung recht umfangreich ist, habe ich dir im Folgenden einmal die wichtigsten Artikel zusammengestellt. Die zwei Speichersysteme von Java Java Methoden werden auf dem Stack gestapelt. Der Speicher auf dem Java Methoden zu Hause sind, nennt sich Stack Speicher. […]

So kannst du Java Methoden überladen

Java Methoden überladen

Im Mittelalter war es üblich, dass Könige oder Adlige Briefe durch ein Siegel verschlossen. Das Siegel hatte die Aufgabe den Inhalt des Briefes vor dem gewaltsamen Öffnen zu schützen. Außerdem hatte das Siegel die Aufgabe einen Eigentumsnachweis sicher zu stellen. Und jeder, welcher das Siegel des Königs sah, wusste: „Das königliche Siegel – Oh ein […]

Overriding und Vererbung – So lassen sich Java Methoden überschreiben

Java Methoden überschreiben

In Deutschland entstehen jeden Tag tolle Geschichten. So wie diese hier…. Die größte Turmuhr der Welt, die Makkah Clock, steht in Saudi – Arabien. Und zwar direkt in Mekka. Hier ein paar Eckdaten zur Uhr: Höhe des Turmes 601 m. Das Ziffernblatt der Turmuhr hat einen Durchmesser von 43 Meter Die Länge des Minutenzeigers beträgt […]

So kannst du Java Arrays mit for Schleife füllen und auslesen

Java Arrays For Schleife

Wir haben in einem anderen Beitrag bereits über Java Arrays gesprochen. So ein Array speichert Zahlen, Texte oder Objekte in eine Art Liste. Und dann kannst du ganz bequem über den Index das Array füllen und die bereits enthaltenen Werte abrufen. Ganz bequem? So, wie ich dich aus dem letzten Beitrag entlassen habe, war das […]