Der Scanner in Java ist ein vielseitiges Werkzeug, das es ermöglicht,
verschiedene Datentypen von der Konsole einzulesen.
import java.util.Scanner;
Scanner sc = new Scanner(System.in);
| Methode | Beschreibung |
|---|---|
next() |
Liest ein einzelnes Wort |
nextLine() |
Liest eine ganze Zeile |
nextInt() |
Liest eine Ganzzahl |
nextDouble() |
Liest eine Kommazahl |
nextFloat() |
Liest eine Float-Zahl |
nextLong() |
Liest eine Long-Zahl |
nextShort() |
Liest eine Short-Zahl |
nextByte() |
Liest eine Byte-Zahl |
nextBoolean() |
Liest true oder false |
hasNext() |
Prüft, ob weitere Eingaben vorhanden sind |
hasNextInt() |
Prüft, ob die nächste Eingabe eine Ganzzahl ist |
hasNextDouble() |
Prüft, ob die nächste Eingabe eine Kommazahl ist |
useDelimiter() |
Legt ein Trennzeichen fest |
close() |
Schließt den Scanner |
String line = sc.nextLine();
Um eine Zeile Text einzulesen, verwendet man die Methode nextLine().
Diese Methode liest die gesamte Zeile bis zum Zeilenumbruch ein und gibt
sie als String zurück. Wenn man nur ein einzelnes Wort einlesen
möchte, verwendet man die Methode next(). Diese Methode liest das
nächste Token (Wort) bis zum nächsten Leerzeichen oder Zeilenumbruch
ein.
int number = sc.nextInt();
Für das Einlesen von ganzen Zahlen verwendet man die Methode
nextInt(). Diese Methode liest die nächste Ganzzahl aus der Eingabe
und gibt sie als int zurück.
double decimal = sc.nextDouble();
Ähnlich funktioniert die Methode nextDouble(), die eine Gleitkommazahl
(double) einliest und zurückgibt.
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
// Erstelle ein Scanner-Objekt, um Eingaben von der Konsole zu lesen
Scanner sc = new Scanner(System.in);
// Fordere den Benutzer auf, eine Zeile Text einzugeben
System.out.println("Bitte geben Sie eine Zeile Text ein:");
// Liest eine ganze Zeile Text (String)
String line = sc.nextLine();
System.out.println("Sie haben eingegeben: " + line);
// Fordere den Benutzer auf, ein Wort einzugeben
System.out.println("Bitte geben Sie ein Wort ein:");
// Liest ein einzelnes Wort (String)
String word = sc.next();
System.out.println("Sie haben eingegeben: " + word);
// Fordere den Benutzer auf, eine ganze Zahl einzugeben
System.out.println("Bitte geben Sie eine ganze Zahl ein:");
// Liest eine ganze Zahl (int)
int number = sc.nextInt();
System.out.println("Sie haben eingegeben: " + number);
// Fordere den Benutzer auf, eine Gleitkommazahl einzugeben
System.out.println("Bitte geben Sie eine Gleitkommazahl ein:");
// Liest eine Gleitkommazahl (double)
double decimal = sc.nextDouble();
System.out.println("Sie haben eingegeben: " + decimal);
// Schließe den Scanner
sc.close();
}
}