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 Übung 19 – Zähle die Kommastellen

Java Übung Kommastellen Zählen

In dieser Java Übung möchte ich, dass du eine Methode zum Zählen von Kommastellen schreibst. Lege dazu eine Klasse „KommaZahl“ an. Diese Klasse enthält die statische Methode „zaehleKommaStellen“, welche eine Kommazahl als übergebenen Parameter erwartet.

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 kannst du deine Java Methoden ausführen

Java Methoden ausführen

Du hast die ersten Java Methoden erstellt. Doch wie greifst du jetzt auf diese zu? Wie kannst du diese Methoden in einer anderen Klassen aufrufen? Welcher Unterschied, hinsichtlich des Methodenaufrufes, besteht eigentlich zwischen deinen Java Methoden? Diese Fragen möchte ich gern in diesem Beitrag beantworten. Gehen wir dazu in den Garten und schauen uns Blumen […]

So kannst du ein Java Programm starten und Argumente übergeben

Um ein Java Programm starten zu können, benötigst du immer die main-Methode. Das Programm startet immer genau an dieser Stelle. Alle lokalen Variablen, welche du in der Main Methode anlegst, kannst du dann im Programm nutzen. Auch alle Methoden, welche du innerhalb des Methodenrumpfes der main-Methode aufrust, werden ausgeführt. Was ist aber vor der main-Methode. […]

Polymorphie bringt Vorteile für Java Arrays

Java Polymorphie Arrays

Wenn Java Arrays, Schubladen oder Container sein sollen… Dann wäre der Gebrauch einer solchen Schublade ziemlich einseitig und festgefahren. Denn in jedes Array passen zwar mehrere Daten – aber immer nur vom gleichen Datentyp. Immer gleicher Datentyp? Also eine Schublade nur für Socken, Unterwäsche und der ganze andere Kram passt dann eben nicht hinein. Um […]

10 ganz nützlichen Feature der Klasse Java Math

In diesem Beitrag geht es um eine spezielle Java Klasse. Die Klasse nennt sich Java Math. Diese ist in der Standardbibliothek von Java enthalten. Warum solltest du diese Klasse kennen? Die Math Klasse bietet dir einen Menge Methoden an, welche zur Berechnung von mathematischen Gleichungen ganz hilfreich sind. Aber auch für Nichtmathematiker ist etwas dabei. […]

Verwalte deine Java Klassen in packages

java klassen verwalten

Es macht durchaus Sinn deine Java Klassen in verschiedenen Paketen zu organisieren. Wieso? Es sprechen mehrere Gründe dafür: Du kannst doppelte Klassennamen verwenden Du kannst deinen Code oder deine Klassen inhaltlich trennen Du kannst Hierarchien abbilden. Und genau um diese Dinge geht es in diesem Beitrag

Java Methoden mit variabler Argumentenanzahl – VarArgs

Java Methoden mit variabler Argumentenanzahl VarArgs

Du kennst das noch. Kopfrechnen und zwar auf Zeit. So etwas ist das Standardprogramm in den Schulklassen 1 bis 5. Irgendwann, in Klasse 6 oder 7, kommt der Taschenrechner ins Spiel und Kopfrechnen ist aus dem Schulalltag gestrichen. Schade eigentlich. Dabei kann man diese Disziplin auch wunderbar in kleinen Spielen unterbringen. Ich erinnere mich noch: […]

So kannst du gelöschte Java Projekte oder Dateien in Eclipse wieder herstellen

Wahrscheinlich passiert es jedem einmal, dass man versehentlich Dateien löscht. Und dann? Die Wut ist riesig, weil man ja alles nochmal schreiben muss. In Eclipse hast du die Möglichkeit sämtliche Dateien wieder herzustellen. In diesem Beitrag möchte ich dir demonstrieren, wie du gelöschte Java Klassen, Dateien, Projekte oder Packages wieder herstellen kannst.

Die mathematischen Grundlagen des Dezimalsystems für Java Programmierer

Java Dezimalsystem Mathematik Programmierer

Bei der Java Programmierung benötigst du Kenntnisse über das Dezimalsystem. Allein schon für die technische Umsetzung beim Runden einer Zahl. Oder du möchtest den Kehrwert bzw. den Umkehrwert einer Zahl im Programm bestimmen lassen. Aber auch für das Herausfinden des Stellenwertes – also wieviel Stellen hat eine Zahl – benötigst du das Grundwissen des Dezimalsystems. […]