logo

Java-Scanner

Die Scannerklasse in Java befindet sich im Paket java.util. Java bietet verschiedene Möglichkeiten, Eingaben über die Tastatur zu lesen, die Klasse java.util.Scanner ist eine davon.

Die Java-Scanner-Klasse unterteilt die Eingabe mithilfe eines Trennzeichens, bei dem es sich standardmäßig um Leerzeichen handelt, in Token. Es bietet viele Methoden zum Lesen und Analysieren verschiedener Grundwerte.

Die Java-Scanner-Klasse wird häufig zum Analysieren von Text nach Zeichenfolgen und primitiven Typen mithilfe eines regulären Ausdrucks verwendet. Dies ist der einfachste Weg, Eingaben in Java zu erhalten. Mithilfe des Scanners in Java können wir vom Benutzer Eingaben in primitiven Typen wie int, long, double, byte, float, short usw. erhalten.

privates vs. öffentliches Java

Die Java-Scanner-Klasse erweitert die Object-Klasse und implementiert Iterator- und Closeable-Schnittstellen.

Die Java-Scanner-Klasse bietet nextXXX()-Methoden zur Rückgabe des Werttyps wie nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean() usw Um ein einzelnes Zeichen vom Scanner abzurufen, können Sie die Methode next().charAt(0) aufrufen, die ein einzelnes Zeichen zurückgibt.

Deklaration der Java-Scanner-Klasse

 public final class Scanner extends Object implements Iterator 

So erhalten Sie den Java-Scanner

Um die Instanz von Java Scanner zu erhalten, die Eingaben vom Benutzer liest, müssen wir den Eingabestream (System.in) im Konstruktor der Scanner-Klasse übergeben. Zum Beispiel:

 Scanner in = new Scanner(System.in); 

Um die Instanz von Java Scanner zu erhalten, die die Zeichenfolgen analysiert, müssen wir die Zeichenfolgen im Konstruktor der Scanner-Klasse übergeben. Zum Beispiel:

 Scanner in = new Scanner('Hello Javatpoint'); 

Konstruktoren der Java-Scanner-Klasse

SN Konstrukteur Beschreibung
1) Scanner (Dateiquelle) Es erstellt einen neuen Scanner, der aus der angegebenen Datei gescannte Werte erzeugt.
2) Scanner(Dateiquelle, String charsetName) Es erstellt einen neuen Scanner, der aus der angegebenen Datei gescannte Werte erzeugt.
3) Scanner (InputStream-Quelle) Es erstellt einen neuen Scanner, der aus dem angegebenen Eingabestream gescannte Werte erzeugt.
4) Scanner(InputStream-Quelle, String charsetName) Es erstellt einen neuen Scanner, der aus dem angegebenen Eingabestream gescannte Werte erzeugt.
5) Scanner (Lesbare Quelle) Es erstellt einen neuen Scanner, der von der angegebenen Quelle gescannte Werte erzeugt.
6) Scanner (String-Quelle) Es erstellt einen neuen Scanner, der aus der angegebenen Zeichenfolge gescannte Werte erzeugt.
7) Scanner (ReadableByteChannel-Quelle) Es erstellt einen neuen Scanner, der vom angegebenen Kanal gescannte Werte erzeugt.
8) Scanner(ReadableByteChannel-Quelle, String charsetName) Es erstellt einen neuen Scanner, der vom angegebenen Kanal gescannte Werte erzeugt.
9) Scanner (Pfadquelle) Es erstellt einen neuen Scanner, der aus der angegebenen Datei gescannte Werte erzeugt.
10) Scanner(Pfadquelle, String charsetName) Es erstellt einen neuen Scanner, der aus der angegebenen Datei gescannte Werte erzeugt.

Methoden der Java-Scanner-Klasse

Im Folgenden finden Sie eine Liste der Scannermethoden:

SN Modifikator und Typ Methode Beschreibung
1) Leere schließen() Es wird verwendet, um diesen Scanner zu schließen.
2) Muster Trennzeichen() Es wird verwendet, um das Muster abzurufen, das die Scanner-Klasse derzeit zum Abgleichen von Trennzeichen verwendet.
3) Strom finde alle() Es wird verwendet, um einen Stream von Übereinstimmungsergebnissen zu finden, die mit der bereitgestellten Musterzeichenfolge übereinstimmen.
4) Zeichenfolge findInLine() Es wird verwendet, um das nächste Vorkommen eines Musters zu finden, das aus der angegebenen Zeichenfolge erstellt wurde, wobei Trennzeichen ignoriert werden.
5) Zeichenfolge findWithinHorizon() Es wird verwendet, um das nächste Vorkommen eines Musters zu finden, das aus der angegebenen Zeichenfolge erstellt wurde, wobei Trennzeichen ignoriert werden.
6) Boolescher Wert hasNext() Es gibt „true“ zurück, wenn dieser Scanner ein anderes Token in seiner Eingabe hat.
7) Boolescher Wert hasNextBigDecimal() Es wird verwendet, um zu prüfen, ob das nächste Token in der Eingabe dieses Scanners mit der Methode nextBigDecimal() als BigDecimal interpretiert werden kann oder nicht.
8) Boolescher Wert hasNextBigInteger() Es wird verwendet, um zu prüfen, ob das nächste Token in der Eingabe dieses Scanners mit der Methode nextBigDecimal() als BigDecimal interpretiert werden kann oder nicht.
9) Boolescher Wert hasNextBoolean() Es wird verwendet, um zu prüfen, ob das nächste Token in der Eingabe dieses Scanners mit der Methode nextBoolean() als Boolean interpretiert werden kann oder nicht.
10) Boolescher Wert hasNextByte() Es wird verwendet, um zu prüfen, ob das nächste Token in der Eingabe dieses Scanners mit der Methode nextBigDecimal() als Byte interpretiert werden kann oder nicht.
elf) Boolescher Wert hasNextDouble() Es wird verwendet, um zu prüfen, ob das nächste Token in der Eingabe dieses Scanners mit der nextByte()-Methode als BigDecimal interpretiert werden kann oder nicht.
12) Boolescher Wert hasNextFloat() Es wird verwendet, um zu prüfen, ob das nächste Token in der Eingabe dieses Scanners mit der Methode nextFloat() als Float interpretiert werden kann oder nicht.
13) Boolescher Wert hasNextInt() Es wird verwendet, um zu prüfen, ob das nächste Token in der Eingabe dieses Scanners mit der Methode nextInt() als int interpretiert werden kann oder nicht.
14) Boolescher Wert hasNextLine() Es wird verwendet, um zu prüfen, ob sich im Eingang dieses Scanners eine weitere Zeile befindet oder nicht.
fünfzehn) Boolescher Wert hasNextLong() Es wird verwendet, um zu prüfen, ob das nächste Token in der Eingabe dieses Scanners mit der Methode nextLong() als Long interpretiert werden kann oder nicht.
16) Boolescher Wert hasNextShort() Es wird verwendet, um zu prüfen, ob der nächste Token in der Eingabe dieses Scanners mit der Methode nextShort() als Short interpretiert werden kann oder nicht.
17) IOException ioException() Es wird verwendet, um die zuletzt von diesem Scanner ausgelöste IOException lesbar abzurufen.
18) Lokal lokal() Es wird verwendet, um ein Gebietsschema der Scanner-Klasse abzurufen.
19) MatchResult übereinstimmen() Es wird verwendet, um das Übereinstimmungsergebnis des letzten von diesem Scanner durchgeführten Scanvorgangs abzurufen.
zwanzig) Zeichenfolge nächste() Es wird verwendet, um den nächsten vollständigen Token vom verwendeten Scanner abzurufen.
einundzwanzig) BigDecimal nextBigDecimal() Es scannt das nächste Token der Eingabe als BigDecimal.
22) BigInteger nextBigInteger() Es scannt das nächste Token der Eingabe als BigInteger.
23) Boolescher Wert nextBoolean() Es scannt das nächste Token der Eingabe in einen booleschen Wert und gibt diesen Wert zurück.
24) Byte nextByte() Es scannt das nächste Token der Eingabe als Byte.
25) doppelt nextDouble() Es scannt den nächsten Token der Eingabe als Double.
26) schweben nextFloat() Es scannt das nächste Token der Eingabe als Float.
27) int nextInt() Es scannt das nächste Token der Eingabe als Int.
28) Zeichenfolge nächste Zeile() Es wird verwendet, um die Eingabezeichenfolge abzurufen, die vom Scanner-Objekt übersprungen wurde.
29) lang nextLong() Es scannt das nächste Token der Eingabe als Long.
30) kurz nextShort() Es scannt den nächsten Token der Eingabe als Kurzschluss.
31) int radix() Es wird verwendet, um die Standardbasis der Scannerverwendung abzurufen.
32) Leere entfernen() Es wird verwendet, wenn der Entfernungsvorgang von dieser Implementierung von Iterator nicht unterstützt wird.
33) Scanner zurücksetzen() Es wird verwendet, um den verwendeten Scanner zurückzusetzen.
3. 4) Scanner überspringen() Es überspringt Eingaben, die dem angegebenen Muster entsprechen, und ignoriert Trennzeichen
35) Strom Token() Es wird verwendet, um einen Strom von durch Trennzeichen getrennten Token vom verwendeten Scanner-Objekt abzurufen.
36) Zeichenfolge toString() Es wird verwendet, um die Zeichenfolgendarstellung des Scanners abzurufen.
37) Scanner useDelimiter() Es wird verwendet, um das Begrenzungsmuster des verwendeten Scanners auf das angegebene Muster festzulegen.
38) Scanner useLocale() Es wird verwendet, um das Gebietsschemaobjekt dieses Scanners auf das angegebene Gebietsschema festzulegen.
39) Scanner useRadix() Es wird verwendet, um die Standardbasis des verwendeten Scanners auf die angegebene Basis festzulegen.

Beispiel 1

Sehen wir uns ein einfaches Beispiel eines Java-Scanners an, bei dem wir eine einzelne Eingabe vom Benutzer erhalten. Hier fragen wir über die Methode in.nextLine() nach einer Zeichenfolge.

 import java.util.*; public class ScannerExample { public static void main(String args[]){ Scanner in = new Scanner(System.in); System.out.print('Enter your name: '); String name = in.nextLine(); System.out.println('Name is: ' + name); in.close(); } } 

Ausgabe:

 Enter your name: sonoo jaiswal Name is: sonoo jaiswal 

Beispiel 2

 import java.util.*; public class ScannerClassExample1 { public static void main(String args[]){ String s = 'Hello, This is JavaTpoint.'; //Create scanner Object and pass string in it Scanner scan = new Scanner(s); //Check if the scanner has a token System.out.println('Boolean Result: ' + scan.hasNext()); //Print the string System.out.println('String: ' +scan.nextLine()); scan.close(); System.out.println('--------Enter Your Details-------- '); Scanner in = new Scanner(System.in); System.out.print('Enter your name: '); String name = in.next(); System.out.println('Name: ' + name); System.out.print('Enter your age: '); int i = in.nextInt(); System.out.println('Age: ' + i); System.out.print('Enter your salary: '); double d = in.nextDouble(); System.out.println('Salary: ' + d); in.close(); } } 

Ausgabe:

 Boolean Result: true String: Hello, This is JavaTpoint. -------Enter Your Details--------- Enter your name: Abhishek Name: Abhishek Enter your age: 23 Age: 23 Enter your salary: 25000 Salary: 25000.0 

Beispiel 3

 import java.util.*; public class ScannerClassExample2 { public static void main(String args[]){ String str = 'Hello/This is JavaTpoint/My name is Abhishek.'; //Create scanner with the specified String Object Scanner scanner = new Scanner(str); System.out.println('Boolean Result: '+scanner.hasNextBoolean()); //Change the delimiter of this scanner scanner.useDelimiter('/'); //Printing the tokenized Strings System.out.println('---Tokenizes String---'); while(scanner.hasNext()){ System.out.println(scanner.next()); } //Display the new delimiter System.out.println('Delimiter used: ' +scanner.delimiter()); scanner.close(); } } 

Ausgabe:

 Boolean Result: false ---Tokenizes String--- Hello This is JavaTpoint My name is Abhishek. Delimiter used: /