1. Schritte zur Scanner-Implementierung
Schritt eins: Importieren Sie in der ersten Zeile des gültigen Codes die Scanner-Klasse durch Import!
import java.util.Scanner;
Schritt 2: Instanziieren Sie ein Scannerobjekt über das neue Schlüsselwort!
Scanner input = new Scanner(System.in);
--> Die einzige Variable ist der Name der Eingabevariable!
Schritt 3: Rufen Sie die Methode in der Scanner-Klasse über das Scanner-Objekt auf, um den vom Benutzer auf der Konsole eingegebenen Inhalt zu erhalten
Java-bezogene Video-Tutorials: Java-Lernen
Daten grundlegender Datentypen abrufen
input.nextByte();–> 获取用户在控制台输入的内容,返回数据类型为byte类型! input.nextShort();–> 获取用户在控制台输入的内容,返回数据类型为short类型! input.nextInt();–> 获取用户在控制台输入的内容,返回数据类型为int类型! input.nextLong(); --> 获取用户在控制台输入的内容,返回数据类型为long类型! input.nextFloat(); --> 获取用户在控制台输入的内容,返回数据类型为float类型! input.nextDouble();–> 获取用户在控制台输入的内容,返回数据类型为double类型! input.nextBoolean(); --> 获取用户在控制台输入的内容,返回数据类型为boolean类型!
--> Wenn der Benutzer Inhalt eingibt und die Eingabetaste drückt, wird der Inhalt vor dem ersten Leerzeichen abgerufen!
Rufen Sie die Daten des Referenzdatentyps ab
input.next(); --> 获取用户在控制台输入的内容,返回数据类型为String类型!
--> Wenn der Benutzer Inhalt eingibt und die Eingabetaste drückt, erhalten Sie den Inhalt vor dem ersten Leerzeichen!
input.nextLine(); --> 获取用户在控制台输入的内容,返回数据类型为String类型!
--> Wenn der Benutzer Inhalte eingibt und die Eingabetaste drückt, wird eine ganze Zeile mit Inhalten angezeigt!
2. Vorsichtsmaßnahmen für die Verwendung des Scanners
a) Bei der Ausführung der Scanner-Methode wird die Ausführung des Codes blockiert! Wenn der Benutzer Daten eingibt und die Eingabetaste drückt, ruft die Scanner-Methode den vom Benutzer eingegebenen Inhalt ab, speichert ihn in der Variablen links vom Gleichheitszeichen und beendet dann die Blockierungswirkung des Codes!
b) Um die Gesundheitsprüfung des Benutzers zu verbessern, geben Sie einen Eingabeaufforderungstext aus, bevor Sie die Methode der Scanner-Klasse aufrufen! Fordern Sie den Benutzer zur Eingabe auf!
c) Der Eingabeinhalt muss mit den durch den Aufruf der Scanner-Methode zurückgegebenen Daten übereinstimmen! Andernfalls wird eine Ausnahme ausgelöst!
d) Die nextChar()-Methode wird in der Scanner-Klasse nicht bereitgestellt. Wenn wir die vom Benutzer eingegebenen Zeichen erhalten müssen, können wir dies durch Anpassung tun!
Einige Fallstricke, auf die Scanner häufig stößt
Ermitteln Sie zuerst das Alter über nextInt() und dann den Namen über nextLine() Name existiert nicht, nachdem wir das Alter ermittelt haben. Geben wir das Programm ein und beenden wir es!
Ursache:
Beim Ausführen der nextLine()-Methode wird zunächst geprüft, ob der Speicher ein Newline-Zeichen enthält. Wenn es ein Newline-Zeichen enthält, wird es direkt abgerufen Das Newline-Zeichen Der Inhalt vor dem Zeichen ohne Benutzereingabe wird nach Abschluss der Erfassung im Speicher des Newline-Zeichens verbraucht!
Lösung:
Nachdem Sie das Alter ermittelt haben, führen Sie zuerst die nextLine()-Methode aus und ermitteln Sie dann den Namen!
2. Wie erhalte ich die vom Benutzer auf der Konsole eingegebenen Zeichen? ? ?
Weil: Der Scanner stellt die nextChar()-Methode nicht zur Verfügung, daher müssen wir den Vorgang zum Abrufen der Zeichen selbst abschließen!
Lösung:
a) Holen Sie sich zuerst die vom Benutzer eingegebene Zeichenfolge --> next() oder nextLine()-Methode der Scanner-Klasse
b) Dann holen Sie sich die Zeichen Das erste Zeichen in der Zeichenfolge. --> Die charAt(index)-Methode der String-Klasse
Das Beispiel lautet wie folgt:
import java.util.Scanner; public class ScannerDemo02 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入年龄:"); int age = input.nextInt(); System.out.println("年龄:" + age); // 获取用户输入的姓名 input.nextLine(); // 先用nextLine()方法吃掉内存中的换行符! System.out.print("请输入姓名:"); String name = input.nextLine(); System.out.println("姓名:" + name); } }
Weitere Artikel zum Thema Java finden Sie unter: Einführung in die Java-Entwicklung
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Scannerklasse in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!