Heim > Java > JavaErste Schritte > Hauptteil

Detaillierte Einführung in die Scannerklasse in Java

王林
Freigeben: 2019-11-26 13:13:43
nach vorne
3374 Leute haben es durchsucht

Detaillierte Einführung in die Scannerklasse in Java

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;
Nach dem Login kopieren

Schritt 2: Instanziieren Sie ein Scannerobjekt über das neue Schlüsselwort!

Scanner input = new Scanner(System.in);
Nach dem Login kopieren

--> 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类型!
Nach dem Login kopieren

--> 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类型!
Nach dem Login kopieren

--> Wenn der Benutzer Inhalt eingibt und die Eingabetaste drückt, erhalten Sie den Inhalt vor dem ersten Leerzeichen!

input.nextLine(); --> 获取用户在控制台输入的内容,返回数据类型为String类型!
Nach dem Login kopieren

--> 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);
	}
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage