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

Die vier verschiedenen Zahlensysteme in der Java Programmierung

Java Zahlensysteme

Java Zahlensysteme – Was soll das? In sämtlichen Programmiersprachen werden Zahlen in Variablen abgespeichert. Wenn du dir die einzelnen primitiven Datentypen in Java einmal anschaust – wirst du feststellen – dass die Masse der Datentypen Zahlen annehmen und speichern können. Zahlen und die Mathematik dahinter spielen in der Programmierung eine sehr große Rolle. Ganz am […]

So kannst du Java Konstruktoren anlegen und überladen

Java Konstruktoren

Der Name sagt es schon. Java Konstruktoren konstruieren oder bauen Java Objekte. Und diese Objekte baut der Konstruktor auf Vorlage der entsprechenden Java Klasse. In diesem Beitrag zeige ich dir natürlich verschiedene Ansätze wie du den Konstruktor einsetzt. Ich zeige dir dies Schritt für Schritt. Dabei zeige ich dir auch verschiedene Dinge, welche nicht funktionieren. […]

So lassen sich aus Java Klassen Instanzen erstellen

Java Klassen Instanzen erstellen

Lass uns jetzt aus den Java Klassen heraus Objekte anlegen. Im Einführungsbeispiel hast du bereits gelernt, wie du: Instanzvariablen bzw. Attribute anlegst Wie du aus einer normalen Java Klasse eine Programmstart Klasse machst In diesem Artikel erfährst du: Was Objekte bzw. Instanzen sind. Wie sich Objekte zusammensetzen. Wo und wie du Instanzen aus Java Klassen […]

So implementierst du Instanzmethoden in deine Java Klasse

Java Instanzmethoden

In einen der letzten Beiträge habe ich dir gezeigt, wie du eine Klasse anlegen kannst. Ich habe die Klasse „Mensch“ oder „Human“ angelegt und wir haben die erste Instanzvariable implementiert. Dein Code sollte jetzt so aussehen: public class Human { int size=156;//size in centimeter } In diesem Beitrag werde ich dir zeigen, wie du Java […]

So kannst du Instanzen in Java Klassen zählen

Wie kannst du die Instanzen der Java Klassen zählen? Ganz einfach. Am besten ist es, wir bleiben beim Einführungsbeispiel zu den Java Klassen. Und ich wähle die Klasse „Monster“. Um es einfach zu halten, soll auch der Programmstart durch die Klasse erfolgen. Die Klasse bietet somit eine main-Methode an.

So einfach lassen sich Java Strings umkehren

Java Strings umkehren

Kennst du noch das Lied „ANNA“ von Freundeskreis? Da hieß es: Du bist von hinten, wie von vorne A-N-N-A. Solche Namen oder Wörter, welche von hinten nach vorne gelesen – die gleiche Bedeutung haben, nennt man Palindrome. Anna, Ehe oder Ebbe sind recht kurze Palindrome. Aber auch längere zusammengesetzte Palindrome kennt die deutsche Sprache: Regallager […]