Class StdIn
StdIn stellt statische Hilfsmethoden zum Lesen von der
Standardeingabe bereit.
Die Klasse kapselt einen Scanner und bietet komfortable
Methoden zum Lesen einzelner Tokens, einzelner Zeichen, ganzer Zeilen
sowie der gesamten Eingabe.
Wichtiger Hinweis zur Nutzung
Die Lesemethoden sind in Gruppen organisiert. Um unerwartete Effekte durch wechselnde Delimiter-Einstellungen zu vermeiden, sollten Methoden unterschiedlicher Gruppen nicht beliebig gemischt werden:
- Token-basiertes Lesen (Whitespace/Delimiter trennen Tokens):
hasNextToken(),readByte(),readShort(),readInt(),readLong(),readFloat(),readDouble(),readBoolean(),readString() - Zeichenweises Lesen (inkl. Leer-/Trennzeichen):
hasNextChar(),readChar() - Zeilenweises Lesen:
hasNextLine(),readLine() - Gesamte Eingabe auf einmal:
readAll(),readStrings(),readLines(),readBytes(),readShorts(),readInts(),readLongs(),readFloats(),readDoubles(),readChars() - Interaktive Zeileneingabe (Tastatur):
readlnChars(),readlnInts(),readlnDoubles(),readlnInt(),readlnDouble(),readlnStrings()readlnString(),readlnLine()
Zeichencodierung: UTF-8, Locale: IO.STANDARDLOCALE.
Java-Version: 17 oder höher
- Author:
- Karsten Brodmann (kb@punkt-akademie.de)
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleanPrüft, ob noch ein weiteres Zeichen (inkl.static booleanPrüft, ob noch eine weitere Zeile verfügbar ist.static booleanPrüft, ob noch ein weiteres Token (nicht nur Trennzeichen) verfügbar ist.static StringreadAll()Liest die gesamte verbleibende Standardeingabe und gibt sie alsStringzurück.static booleanLiest das nächste Token und interpretiert es alsboolean.static bytereadByte()Liest das nächste Token und interpretiert es alsbyte.static byte[]Liest alle verbleibenden Tokens und interpretiert sie alsbyte-Werte.static charreadChar()Liest das nächste Zeichen (inkl.static char[]Liest die gesamte verbleibende Eingabe (bis EOF) und liefert sie alschar-Array zurück.static doubleLiest das nächste Token und interpretiert es alsdouble.static double[]Liest alle verbleibenden Tokens und interpretiert sie alsdouble-Werte.static floatLiest das nächste Token und interpretiert es alsfloat.static float[]Liest alle verbleibenden Tokens und interpretiert sie alsfloat-Werte.static intreadInt()Liest das nächste Token und interpretiert es alsint.static int[]readInts()Liest alle verbleibenden Tokens und interpretiert sie alsint-Werte.static StringreadLine()Liest die nächste Zeile und gibt sie ohne Zeilentrenner zurück.static String[]Liest alle verbleibenden Zeilen der Eingabe und liefert sie als Array.static char[]Liest eine Zeile (interaktiv) und liefert sie alschar-Array zurück.static char[]readlnChars(String prompt) Liest eine Zeile (interaktiv) und liefert sie alschar-Array zurück.static doubleLiest eine Zeile (interaktiv) und liefert das erste Token alsdoublezurück.static doublereadlnDouble(String prompt) Liest eine Zeile (interaktiv) und liefert das erste Token alsdoublezurück.static double[]Liest eine Zeile (interaktiv) und interpretiert sie als Folge vondouble-Werten.static double[]readlnDoubles(String prompt) Liest eine Zeile (interaktiv) und interpretiert sie als Folge vondouble-Werten.static intLiest eine Zeile (interaktiv) und liefert das erste Token alsintzurück.static intLiest eine Zeile (interaktiv) und liefert das erste Token alsintzurück.static int[]Liest eine Zeile (interaktiv) und interpretiert sie als Folge vonint-Werten.static int[]readlnInts(String prompt) Liest eine Zeile (interaktiv) und interpretiert sie als Folge vonint-Werten.static StringLiest eine Zeile (interaktiv) und liefert sie als String zurück.static StringreadlnLine(String prompt) Liest eine Zeile (interaktiv) und liefert sie als String zurück.static StringLiest eine Zeile (interaktiv) und liefert den ersten String zurück.static StringreadlnString(String prompt) Liest eine Zeile (interaktiv) und liefert den ersten String zurück.static String[]Liest eine Zeile (interaktiv) und liefert sie als Array von Token zurück.static String[]readlnStrings(String prompt) Liest eine Zeile (interaktiv) und liefert sie als Array von Token zurück.static longreadLong()Liest das nächste Token und interpretiert es alslong.static long[]Liest alle verbleibenden Tokens und interpretiert sie alslong-Werte.static shortLiest das nächste Token und interpretiert es alsshort.static short[]Liest alle verbleibenden Tokens und interpretiert sie alsshort-Werte.static StringLiest das nächste Token und gibt es alsStringzurück.static StringreadString(String prompt) Liest das nächste Token und gibt es alsStringzurück.static String[]Liest alle verbleibenden Tokens der Eingabe und liefert sie als Array.static voidSetzt die Eingabequelle wieder aufSystem.inzurück.static voidSetzt die Eingabequelle fürStdIn.
-
Method Details
-
setInputStream
Setzt die Eingabequelle fürStdIn.Der Scanner wird mit UTF-8 initialisiert und verwendet die in
IO.STANDARDLOCALEdefinierte Locale.- Parameters:
in- Eingabestrom- Throws:
NullPointerException- wennin == nullist
-
resetToSystemIn
public static void resetToSystemIn()Setzt die Eingabequelle wieder aufSystem.inzurück. -
hasNextToken
public static boolean hasNextToken()Prüft, ob noch ein weiteres Token (nicht nur Trennzeichen) verfügbar ist.- Returns:
true, wenn ein weiteres Token vorhanden ist, sonstfalse
-
hasNextChar
public static boolean hasNextChar()Prüft, ob noch ein weiteres Zeichen (inkl. Leer-/Trennzeichen) verfügbar ist.- Returns:
true, wenn ein weiteres Zeichen vorhanden ist, sonstfalse
-
readChar
public static char readChar()Liest das nächste Zeichen (inkl. Leer-/Trennzeichen) und gibt es zurück.- Returns:
- nächstes Zeichen
- Throws:
NoSuchElementException- wenn kein Zeichen verfügbar ist
-
readString
Liest das nächste Token und gibt es alsStringzurück.Wenn
promptnicht leer ist, wird es zuvor ausgegeben.- Parameters:
prompt- Eingabeaufforderung (kann leer sein)- Returns:
- nächstes Token als
String - Throws:
NoSuchElementException- wenn kein Token verfügbar ist
-
readString
Liest das nächste Token und gibt es alsStringzurück.- Returns:
- nächstes Token als
String - Throws:
NoSuchElementException- wenn kein Token verfügbar ist
-
readAll
Liest die gesamte verbleibende Standardeingabe und gibt sie alsStringzurück.- Returns:
- gesamte Eingabe als
String; leerer String, wenn keine Eingabe vorhanden ist
-
readByte
public static byte readByte()Liest das nächste Token und interpretiert es alsbyte.- Returns:
- nächster
byte-Wert - Throws:
NoSuchElementException- wenn kein Token verfügbar istInputMismatchException- wenn das Token nicht alsbyteinterpretierbar ist
-
readShort
public static short readShort()Liest das nächste Token und interpretiert es alsshort.- Returns:
- nächster
short-Wert - Throws:
NoSuchElementException- wenn kein Token verfügbar istInputMismatchException- wenn das Token nicht alsshortinterpretierbar ist
-
readInt
public static int readInt()Liest das nächste Token und interpretiert es alsint.- Returns:
- nächster
int-Wert - Throws:
NoSuchElementException- wenn kein Token verfügbar istInputMismatchException- wenn das Token nicht alsintinterpretierbar ist
-
readLong
public static long readLong()Liest das nächste Token und interpretiert es alslong.- Returns:
- nächster
long-Wert - Throws:
NoSuchElementException- wenn kein Token verfügbar istInputMismatchException- wenn das Token nicht alslonginterpretierbar ist
-
readFloat
public static float readFloat()Liest das nächste Token und interpretiert es alsfloat.- Returns:
- nächster
float-Wert - Throws:
NoSuchElementException- wenn kein Token verfügbar istInputMismatchException- wenn das Token nicht alsfloatinterpretierbar ist
-
readDouble
public static double readDouble()Liest das nächste Token und interpretiert es alsdouble.- Returns:
- nächster
double-Wert - Throws:
NoSuchElementException- wenn kein Token verfügbar istInputMismatchException- wenn das Token nicht alsdoubleinterpretierbar ist
-
readBoolean
public static boolean readBoolean()Liest das nächste Token und interpretiert es alsboolean.Akzeptierte Werte:
true/false(Groß-/Kleinschreibung egal),1(wahr) und0(falsch).- Returns:
- nächster
boolean-Wert - Throws:
NoSuchElementException- wenn kein Token verfügbar istInputMismatchException- wenn das Token nicht alsbooleaninterpretierbar ist
-
hasNextLine
public static boolean hasNextLine()Prüft, ob noch eine weitere Zeile verfügbar ist.- Returns:
true, wenn eine weitere Zeile vorhanden ist, sonstfalse
-
readLine
Liest die nächste Zeile und gibt sie ohne Zeilentrenner zurück.- Returns:
- nächste Zeile als
String;null, wenn keine weitere Zeile vorhanden ist
-
readStrings
Liest alle verbleibenden Tokens der Eingabe und liefert sie als Array.Führende Trennzeichen werden ignoriert.
- Returns:
- Array aller verbleibenden Tokens
-
readLines
Liest alle verbleibenden Zeilen der Eingabe und liefert sie als Array.- Returns:
- Array aller verbleibenden Zeilen
-
readBytes
public static byte[] readBytes()Liest alle verbleibenden Tokens und interpretiert sie alsbyte-Werte.- Returns:
- Array der gelesenen
byte-Werte - Throws:
NumberFormatException- wenn ein Token nicht alsbyteinterpretierbar ist
-
readShorts
public static short[] readShorts()Liest alle verbleibenden Tokens und interpretiert sie alsshort-Werte.- Returns:
- Array der gelesenen
short-Werte - Throws:
NumberFormatException- wenn ein Token nicht alsshortinterpretierbar ist
-
readInts
public static int[] readInts()Liest alle verbleibenden Tokens und interpretiert sie alsint-Werte.- Returns:
- Array der gelesenen
int-Werte - Throws:
NumberFormatException- wenn ein Token nicht alsintinterpretierbar ist
-
readLongs
public static long[] readLongs()Liest alle verbleibenden Tokens und interpretiert sie alslong-Werte.- Returns:
- Array der gelesenen
long-Werte - Throws:
NumberFormatException- wenn ein Token nicht alslonginterpretierbar ist
-
readFloats
public static float[] readFloats()Liest alle verbleibenden Tokens und interpretiert sie alsfloat-Werte.- Returns:
- Array der gelesenen
float-Werte - Throws:
NumberFormatException- wenn ein Token nicht alsfloatinterpretierbar ist
-
readDoubles
public static double[] readDoubles()Liest alle verbleibenden Tokens und interpretiert sie alsdouble-Werte.- Returns:
- Array der gelesenen
double-Werte - Throws:
NumberFormatException- wenn ein Token nicht alsdoubleinterpretierbar ist
-
readChars
public static char[] readChars()Liest die gesamte verbleibende Eingabe (bis EOF) und liefert sie alschar-Array zurück.- Returns:
- alle verbleibenden Zeichen als
char-Array
-
readlnChars
public static char[] readlnChars()Liest eine Zeile (interaktiv) und liefert sie alschar-Array zurück.- Returns:
- Zeichen der gelesenen Zeile
-
readlnChars
Liest eine Zeile (interaktiv) und liefert sie alschar-Array zurück. Vorher wird ein Prompt ausgegeben.- Parameters:
prompt- Eingabeaufforderung- Returns:
- Zeichen der gelesenen Zeile
-
readlnInts
public static int[] readlnInts()Liest eine Zeile (interaktiv) und interpretiert sie als Folge vonint-Werten.- Returns:
- Array der gelesenen
int-Werte - Throws:
NumberFormatException- wenn ein Token nicht alsintinterpretierbar ist
-
readlnInts
Liest eine Zeile (interaktiv) und interpretiert sie als Folge vonint-Werten. Vorher wird ein Prompt ausgegeben.- Parameters:
prompt- Eingabeaufforderung- Returns:
- Array der gelesenen
int-Werte - Throws:
NumberFormatException- wenn ein Token nicht alsintinterpretierbar ist
-
readlnDoubles
public static double[] readlnDoubles()Liest eine Zeile (interaktiv) und interpretiert sie als Folge vondouble-Werten.- Returns:
- Array der gelesenen
double-Werte - Throws:
NumberFormatException- wenn ein Token nicht alsdoubleinterpretierbar ist
-
readlnDoubles
Liest eine Zeile (interaktiv) und interpretiert sie als Folge vondouble-Werten. Vorher wird ein Prompt ausgegeben.- Parameters:
prompt- Eingabeaufforderung- Returns:
- Array der gelesenen
double-Werte - Throws:
NumberFormatException- wenn ein Token nicht alsdoubleinterpretierbar ist
-
readlnInt
public static int readlnInt()Liest eine Zeile (interaktiv) und liefert das erste Token alsintzurück.Eventuelle weitere Tokens in der Zeile werden verworfen.
- Returns:
- gelesener
int-Wert - Throws:
NumberFormatException- wenn das erste Token nicht alsintinterpretierbar istNoSuchElementException- wenn keine Zeile verfügbar ist
-
readlnInt
Liest eine Zeile (interaktiv) und liefert das erste Token alsintzurück. Vorher wird ein Prompt ausgegeben.Eventuelle weitere Tokens in der Zeile werden verworfen.
- Parameters:
prompt- Eingabeaufforderung- Returns:
- gelesener
int-Wert - Throws:
NumberFormatException- wenn das erste Token nicht alsintinterpretierbar istNoSuchElementException- wenn keine Zeile verfügbar ist
-
readlnDouble
public static double readlnDouble()Liest eine Zeile (interaktiv) und liefert das erste Token alsdoublezurück.Eventuelle weitere Tokens in der Zeile werden verworfen.
- Returns:
- gelesener
double-Wert - Throws:
NumberFormatException- wenn das erste Token nicht alsdoubleinterpretierbar istNoSuchElementException- wenn keine Zeile verfügbar ist
-
readlnDouble
Liest eine Zeile (interaktiv) und liefert das erste Token alsdoublezurück. Vorher wird ein Prompt ausgegeben.Eventuelle weitere Tokens in der Zeile werden verworfen.
- Parameters:
prompt- Eingabeaufforderung- Returns:
- gelesener
double-Wert - Throws:
NumberFormatException- wenn das erste Token nicht alsdoubleinterpretierbar istNoSuchElementException- wenn keine Zeile verfügbar ist
-
readlnLine
Liest eine Zeile (interaktiv) und liefert sie als String zurück.- Parameters:
prompt- Eingabeaufforderung- Returns:
- Zeile, ggf. leer
-
readlnLine
Liest eine Zeile (interaktiv) und liefert sie als String zurück.- Returns:
- Zeile, ggf. leer
-
readlnString
Liest eine Zeile (interaktiv) und liefert den ersten String zurück.- Parameters:
prompt- Eingabeaufforderung- Returns:
- String
- Throws:
NoSuchElementException- wenn keine Zeile verfügbar ist
-
readlnString
Liest eine Zeile (interaktiv) und liefert den ersten String zurück.- Returns:
- String
-
readlnStrings
Liest eine Zeile (interaktiv) und liefert sie als Array von Token zurück.- Returns:
- Array der Token; leeres Array bei leerer Zeile
-
readlnStrings
Liest eine Zeile (interaktiv) und liefert sie als Array von Token zurück. Vorher wird ein Prompt ausgegeben.- Parameters:
prompt- Eingabeaufforderung- Returns:
- Array der Strings; leeres Array bei leerer Zeile
-