Java-Scanner-Klasse
Java-Scanner-Klasse
In diesem Tutorial lernen wir den Java Scanner und seine Methoden anhand von Beispielen kennen.
Der Scanner
Klasse der java.util
Paket wird verwendet, um Eingabedaten aus verschiedenen Quellen wie Eingabeströmen, Benutzern, Dateien usw. zu lesen. Nehmen wir ein Beispiel.
Beispiel 1:Eine Textzeile mit dem Scanner lesen
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
Enter your name: Kelvin My name is Kelvin
Beachten Sie im obigen Beispiel die Zeile
Scanner input = new Scanner(System.in);
Hier haben wir ein Objekt von Scanner
erstellt mit dem Namen Eingabe .
Die System.in
Der Parameter wird verwendet, um Eingaben von der Standardeingabe zu übernehmen. Es funktioniert genauso wie Eingaben über die Tastatur.
Wir haben dann den nextLine()
verwendet Methode des Scanner
Klasse, um eine Textzeile vom Benutzer zu lesen.
Nun, da Sie eine Vorstellung von Scanner
haben , lassen Sie uns mehr darüber erfahren.
Scannerklasse importieren
Wie wir im obigen Beispiel sehen können, müssen wir den java.util.Scanner
importieren Paket, bevor wir Scanner
verwenden können Klasse.
import java.util.Scanner;
Weitere Informationen zum Importieren von Paketen finden Sie unter Java-Pakete.
Erstellen Sie ein Scanner-Objekt in Java
Sobald wir das Paket importiert haben, können wir Scanner
wie folgt erstellen Objekte.
// 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 des Scanner
erstellt Klasse, die Eingaben von InputStream, File bzw. String liest.
Java-Scanner-Methoden zur Annahme von Eingaben
Die Scanner
Die Klasse bietet verschiedene Methoden, die es uns ermöglichen, Eingaben verschiedener Typen zu lesen.
Methode | Beschreibung |
---|---|
nextInt() | liest einen int Wert vom Benutzer |
nextFloat() | liest einen float Wert vom Benutzer |
nextBoolean() | liest einen boolean Wert vom Benutzer |
nextLine() | liest eine Textzeile vom Benutzer vor |
next() | liest ein Wort des Benutzers vor |
nextByte() | liest einen byte Wert vom Benutzer |
nextDouble() | liest einen doubl Der Wert vom Benutzer |
nextShort() | liest einen short Wert vom Benutzer |
nextLong() | liest einen long Wert 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
Enter an integer: 22 Using nextInt(): 22
Im obigen Beispiel haben wir den nextInt()
verwendet Methode zum Lesen eines ganzzahligen Werts.
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
Enter Double value: 33.33 Using nextDouble(): 33.33
Im obigen Beispiel haben wir den nextDouble()
verwendet Methode zum Lesen eines Fließkommawerts.
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
Enter your name: Jonny Walker Using next(): Jonny
Im obigen Beispiel haben wir den next()
verwendet Methode, um eine Zeichenfolge vom Benutzer zu lesen.
Hier haben wir den vollständigen Namen angegeben. Allerdings ist die next()
Methode liest nur den Vornamen.
Das liegt daran, dass next()
-Methode liest Eingaben bis zum Leerzeichen Charakter. Einmal das Leerzeichen gefunden wird, gibt es die Zeichenfolge zurück (ohne Leerzeichen).
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
Enter your name: Jonny Walker Using nextLine(): Jonny Walker
Im ersten Beispiel haben wir den nextLine()
verwendet Methode, um eine Zeichenfolge vom Benutzer zu lesen.
Im Gegensatz zu next()
, der nextLine()
-Methode liest die gesamte Eingabezeile einschließlich Leerzeichen. Die Methode wird beendet, wenn sie auf ein Zeichen für die nächste Zeile trifft, \n
.
Empfohlene Lektüre: Java-Scanner überspringt die nextLine().
Java-Scanner mit BigInteger und BigDecimal
Der Java-Scanner kann auch verwendet werden, um die großen Integer- und großen Dezimalzahlen zu lesen.
- nächsteBigInteger() - liest den großen ganzzahligen Wert vom Benutzer
- nextBigDecimal() - liest den großen Dezimalwert vom Benutzer aus
Beispiel 4:BigInteger und BigDecimal lesen
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();
}
}
Ausgabe
Enter a big integer: 987654321 Using nextBigInteger(): 987654321 Enter a big decimal: 9.55555 Using nextBigDecimal(): 9.55555
Im obigen Beispiel haben wir den java.math.BigInteger
verwendet und java.math.BigDecimal
Paket zum Lesen von BigInteger
und BigDecimal
bzw..
Funktionsweise des Java-Scanners
Der Scanner
Klasse liest eine ganze Zeile und teilt die Zeile in Tokens. Tokens sind kleine Elemente, die für den Java-Compiler von Bedeutung sind. Zum Beispiel
Angenommen, es gibt eine Eingabezeichenfolge:
He is 22
In diesem Fall liest das Scannerobjekt die gesamte Zeile und teilt die Zeichenkette in Tokens auf:„He “, „ist " und "22 ". Das Objekt iteriert dann über jedes Token und liest jedes Token mit seinen verschiedenen Methoden.
Hinweis :Standardmäßig werden Leerzeichen verwendet, um Token zu teilen.
Java