Java Scanner (mit Beispielen)

In diesem Tutorial lernen wir anhand von Beispielen den Java-Scanner und seine Methoden kennen.

Die ScannerKlasse des java.utilPakets wird zum Lesen von Eingabedaten aus verschiedenen Quellen wie Eingabestreams, Benutzern, Dateien usw. verwendet. Nehmen wir ein Beispiel.

Beispiel 1: Lesen einer Textzeile mit dem Scanner

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // takes input from the keyboard String name = input.nextLine(); // prints the name System.out.println("My name is " + name); // closes the scanner input.close(); ) )

Ausgabe

 Geben Sie Ihren Namen ein: Kelvin Mein Name ist Kelvin

Beachten Sie im obigen Beispiel die Zeile

 Scanner input = new Scanner(System.in);

Hier haben wir ein Objekt mit Scannerbenannter Eingabe erstellt.

Der System.inParameter wird verwendet, um Eingaben von der Standardeingabe zu übernehmen. Es funktioniert genauso wie das Eingeben von Eingaben über die Tastatur.

Wir haben dann die nextLine()Methode der ScannerKlasse verwendet, um eine Textzeile vom Benutzer zu lesen.

Nachdem Sie eine Vorstellung davon haben Scanner, wollen wir mehr darüber erfahren.

Scannerklasse importieren

Wie wir aus dem obigen Beispiel sehen können, müssen wir das java.util.ScannerPaket importieren , bevor wir die ScannerKlasse verwenden können.

 import java.util.Scanner;

Weitere Informationen zum Importieren von Paketen finden Sie unter Java-Pakete.

Erstellen Sie ein Scannerobjekt in Java

Sobald wir das Paket importiert haben, können wir wie folgt ScannerObjekte erstellen .

 // read input from the input stream Scanner sc1 = new Scanner(InputStream input); // read input from files Scanner sc2 = new Scanner(File file); // read input from a string Scanner sc3 = new Scanner(String str);

Hier haben wir Objekte der ScannerKlasse erstellt, die Eingaben von InputStream, File und String lesen.

Java-Scanner-Methoden zur Eingabe

Die ScannerKlasse bietet verschiedene Methoden, mit denen wir Eingaben verschiedener Typen lesen können.

Methode Beschreibung
nextInt() liest einen intWert vom Benutzer
nextFloat() liest einen floatWert vom Benutzer
nextBoolean() liest einen booleanWert vom Benutzer
nextLine() liest eine Textzeile vom Benutzer
next() liest ein Wort vom Benutzer
nextByte() liest einen byteWert vom Benutzer
nextDouble() liest einen double-Wert vom Benutzer
nextShort() liest einen shortWert vom Benutzer
nextLong() liest einen longWert vom Benutzer

Beispiel 2: Java Scanner nextInt ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates a Scanner object Scanner input = new Scanner(System.in); System.out.println("Enter an integer: "); // reads an int value int data1 = input.nextInt(); System.out.println("Using nextInt(): " + data1); input.close(); ) )

Ausgabe

 Geben Sie eine Ganzzahl ein: 22 Using nextInt (): 22

Im obigen Beispiel haben wir die nextInt()Methode verwendet, um einen ganzzahligen Wert zu lesen.

Beispiel 3: Java Scanner nextDouble ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter Double value: "); // reads the double value double value = input.nextDouble(); System.out.println("Using nextDouble(): " + value); input.close(); ) )

Ausgabe

 Geben Sie den doppelten Wert ein: 33,33 Mit nextDouble (): 33,33

Im obigen Beispiel haben wir die nextDouble()Methode verwendet, um einen Gleitkommawert zu lesen.

Beispiel 4: Java Scanner next ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire word String value = input.next(); System.out.println("Using next(): " + value); input.close(); ) )

Ausgabe

 Geben Sie Ihren Namen ein: Jonny Walker Mit next (): Jonny

Im obigen Beispiel haben wir die next()Methode verwendet, um eine Zeichenfolge vom Benutzer zu lesen.

Hier haben wir den vollständigen Namen angegeben. Die next()Methode liest jedoch nur den Vornamen.

Dies liegt daran, dass die next()Methode Eingaben bis zum Leerzeichen liest . Sobald das Leerzeichen gefunden wird, wird die Zeichenfolge zurückgegeben (mit Ausnahme des Leerzeichens).

Beispiel 5: Java Scanner nextLine ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire line String value = input.nextLine(); System.out.println("Using nextLine(): " + value); input.close(); ) )

Ausgabe

 Geben Sie Ihren Namen ein: Jonny Walker Mit nextLine (): Jonny Walker

Im ersten Beispiel haben wir die nextLine()Methode verwendet, um eine Zeichenfolge vom Benutzer zu lesen.

Im Gegensatz dazu liest next()die nextLine()Methode die gesamte Eingabezeile einschließlich Leerzeichen. Die Methode wird beendet, wenn sie auf ein Zeichen der nächsten Zeile stößt .

Recommended Reading: Java Scanner skipping the nextLine().

Java Scanner with BigInteger and BigDecimal

Java scanner can also be used to read the big integer and big decimal numbers.

  • nextBigInteger() - reads the big integer value from the user
  • nextBigDecimal() - reads the big decimal value from the user

Example 4: Read BigInteger and BigDecimal

 import java.math.BigDecimal; import java.math.BigInteger; import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter a big integer: "); // reads the big integer BigInteger value1 = input.nextBigInteger(); System.out.println("Using nextBigInteger(): " + value1); System.out.print("Enter a big decimal: "); // reads the big decimal BigDecimal value2 = input.nextBigDecimal(); System.out.println("Using nextBigDecimal(): " + value2); input.close(); ) )

Output

 Enter a big integer: 987654321 Using nextBigInteger(): 987654321 Enter a big decimal: 9.55555 Using nextBigDecimal(): 9.55555

In the above example, we have used the java.math.BigInteger and java.math.BigDecimal package to read BigInteger and BigDecimal respectively.

Working of Java Scanner

Die ScannerKlasse liest eine ganze Zeile und unterteilt die Zeile in Token. Token sind kleine Elemente, die für den Java-Compiler eine Bedeutung haben. Beispielsweise,

Angenommen, es gibt eine Eingabezeichenfolge:

 He is 22

In diesem Fall liest das Scannerobjekt die gesamte Zeile und teilt die Zeichenfolge in Token auf: " He ", " is " und " 22 ". Das Objekt durchläuft dann jedes Token und liest jedes Token mit seinen verschiedenen Methoden.

Hinweis : Standardmäßig wird Leerzeichen zum Teilen von Token verwendet.

Interessante Beiträge...