Um die Scannerklasse zu verwenden, muss sie zuerst importiert werden. Danach muss ein Objekt daraus instanziiert werden. Nach der Verwendung des Scannerobjekts muss es geschlossen werden. Das Eingabestream -Objekt, das die Tastatur darstellt.In. Der Scanner hat viele Methoden. In diesem Artikel werden nur die häufig verwendeten erklärt.
Artikelinhalt
Einfache Verwendung der Scannerklasse
Der folgende Code fordert den Benutzer auf, einen Satz einzugeben, und dann wird der Satz angezeigt:
Java importieren.Util.Scanner;Die erste Zeile importiert die Scannerklasse. In der Hauptfunktion erstellt die erste Zeile ein Scannerobjekt mit dem „System“.in ”Objekt für die Tastatur. Sobald das Scannerobjekt erstellt wird, wartet es auf die Eingabe. Die nächste Zeile druckt eine Anweisung und fordert den Benutzer auf, einen Satz einzugeben. Die folgende Zeile im Code verwendet die methodische Methode des Scanners, um den Satz des Benutzers zu lesen, nachdem er die Eingabetaste gedrückt hat. Die Zeile nach dem Code druckt den Satz im Terminalfenster nach. Die letzte Zeile schließt das Scannerobjekt.
Spucken Sie die Eingangsleitung in Werte aus
Der folgende Code spaltet die Eingabestelle in Wörter (Token) unter Verwendung des Raums als Grenzwert:
Java importieren.Util.Scanner;HasNext () und Next () sind zwei weitere Methoden des Scannerobjekts. Wenn das Scannerobjekt eine Zeile liest, behält es sie bei. Weiter () greift auf das nächste Token (Wort) zu. HasNext () kehrt true zurück, wenn noch ein anderes Token noch nicht zugegriffen wird.
Leider wird der Benutzer nach wie vor, dass die Eingabe für die Aufteilung und das erneute Displieren mit diesem Code eingeben wird. Um all das zu beenden, drücken Sie Strg+z und Sie sollten wieder an der Eingabeaufforderung sein.
Im obigen Code trennt der Trennzeichen Token im Raum. Ein weiterer Charakter kann verwendet werden. Der folgende Code verwendet das Komma. Vergessen Sie nicht, Strg+Z zu drücken, um die Schleife zu beenden, wenn Sie den Code testen.
Java importieren.Util.Scanner;Wenn Sie den Code getestet hätten, hätten Sie bemerkt, dass Räume in Token als Teil von Tokens (Ausgabe) aufgenommen wurden (Ausgabe). Der Ausdruck Scanobj.Uselimiter (","); tippt nach der Eingangslinie gelesen; Es ist das, was Komma, den Trennzeichen macht.
Lesen und Validieren von primitiven Datentypen
NEXTBOOLEAN () Methode
Im folgenden Code wird erwartet, dass der Benutzer ohne die Zitate entweder "true" oder "false" eingibt und dann die Eingabetaste drücken, wenn der Benutzer etwas anderes eingibt, z. B. "Ja" oder "Nein", eine Fehlermeldung ist angezeigt.
Java importieren.Util.Scanner;Da Java eine Fehlermeldung ausgibt, solange die Eingabe nicht genau richtig oder falsch ist, wurde das „else wenn“ anstelle von „sonst“ verwendet.
Der Unterschied zwischen den Methoden, Print und Println, besteht darin, dass der Druck die Eingabe in der aktuellen Zeile erwartet, während Println die Eingabe in der nächsten Zeile erwartet.
NextByte () Methode
Mit dem ASCII -Zeichen ist ein Zeichen ein Byte. Bei einigen östlichen Zeichensätzen kann ein Charakter jedoch aus mehr als einem Byte bestehen. Unabhängig vom Charaktersatz liest und validiert die nächste Byte -Methode das nächste Byte der Eingabe. Der folgende Code kann für diesen Zweck verwendet werden:
Java importieren.Util.Scanner;Wenn eine Zahl von mehr als 127 oder ein Alphabet -Zeichen für diesen Code eingegeben wird, würde eine Fehlermeldung veröffentlicht.
NextInt () Methode
Das nächste Ganzzahl -Token als Eingabe kann ebenfalls validiert und akzeptiert werden. Der folgende Code kann verwendet werden:
Java importieren.Util.Scanner;Führende oder nachfolgende Räume wurden entfernt. Für diesen Code würde jeder ganzzahlige Wert, einschließlich Werte von mehr als 127, akzeptiert. Mit diesen NextXXX () -Methoden wird nach Ausfall der Validierung eine Fehlermeldung veröffentlicht.
NextBigInteger () Methode
Es scheint, dass Software -Ingenieure nie aufhören werden, neue Dinge zu finden. Eine große Ganzzahl ist eine Ganzzahl, deren Wert viel größer ist als die einer Ganzzahl. Mit Java kann es jedoch genauso gelesen werden wie die Ganzzahl. Der folgende Code zeigt dies:
Java importieren.Util.Scanner;Beachten Sie die Import -Anweisung „Java importieren.Mathematik.Biginteger; ". Beachten Sie auch, dass der große Ganzzahl -Typ mit einem Großbuchstaben B und nicht mit einem Kleinbuchstaben B begonnen wird.
Nextfloat () Methode
Der nächste Float -Token als Eingabe kann ebenfalls validiert und akzeptiert werden. Der folgende Code kann verwendet werden:
Java importieren.Util.Scanner;Ein Beispiel für eine Float -Nummer ist 23.456. Führende oder nachfolgende Räume wurden entfernt.
NextDouble ()
Das nächste Doppel -Token als Eingabe kann ebenfalls validiert und akzeptiert werden. Der folgende Code kann verwendet werden:
Java importieren.Util.Scanner;Ein Beispiel für eine Doppelzahl ist 23.456. Eine doppelte Zahl unterscheidet sich von einem Float, da sie weniger Fehlerquote aufweist. Führende oder nachfolgende Räume wurden entfernt.
NEXTLINE () Methode
Die nächste Linie () -Methode gilt für eine Zeichenfolge. Wenn die Zeichenfolge nach der Eingabetaste die Eingabestation von der Tastatur ist, kann sie das neue Zeichen "\ n" haben. Der folgende Code kann verwendet werden:
Java importieren.Util.Scanner;Beachten Sie, dass der Saitentyp mit dem Großbuchstaben und nicht mit dem Kleinbuchstaben begonnen wird.
In diesem Artikel wurden die Methoden "Nextline (), HasNext () und Next () zuvor verwendet. Der Scanner verfügt über andere Methoden und andere primitive Datenmethoden - siehe später.
Zuweisen der Eingabe an eine Variable
Die Eingabe kann einer Variablen zugewiesen werden, wie der folgende Code zeigt:
Java importieren.Util.Scanner;Abschluss
Der Scanner in Java ist eine Klasse in Java.Util -Paket. Diese Klasse zielt darauf ab, Eingaben aus einer String-, Tastatur-, Datei- oder Netzwerk -Socket zu lesen. Dieser Artikel konzentrierte sich hauptsächlich auf das Leseeingang von der Tastatur und das Anzeigen des Ergebnisses im Terminalfenster. Ähnliche Ideen können verwendet werden, um Eingaben aus dem String-, Datei- oder Netzwerkkanal zu lesen.
Verwenden Sie die NextLine () -Methode, um die gesamte Zeile der Tastatureingabe zu lesen. Die Linie als Zeichenfolge kann mit den Methoden HasNext () und Next () in Token aufgeteilt werden. Der Standard -Trennzeichen für die Aufteilung ist der Speicherplatz, aber der Programmierer kann einen anderen Trennzeichen auswählen. Vergessen Sie nicht, Strg+z zu machen. Das Entfernen von führenden und nachverfolgenden Räumen kann mit anderen in diesem Artikel nicht behandelten Schemata durchgeführt werden. Die Validierung der Token kann auch mit anderen in diesem Artikel angesprochenen Schemata durchgeführt werden.
Primitive Werte können unter Verwendung von NextBoolean (), NextByte (), NextInt () usw. gelesen werden. Diese NextXXX () -Methoden validieren und entfernen auch führende und nachverfolgende Räume.
Der Java -Scanner hat viele weitere Methoden. In diesem Artikel wurde jedoch die grundlegende Verwendung des Scanners erläutert. Die Auswahl eines Tokens erfolgt tatsächlich mit regulären Expressionstechniken. Die Verwendung regulärer Expressionstechniken ist eine Diskussion für einige andere Zeit.