Heim  >  Artikel  >  Java  >  Detaillierte Erläuterung des Scannerbetriebs in Java

Detaillierte Erläuterung des Scannerbetriebs in Java

WBOY
WBOYOriginal
2023-06-15 20:43:4417088Durchsuche

Scanner ist eine häufig verwendete Klasse in Java, die zum Lesen von Eingabedaten aus der Konsole oder Datei verwendet wird. Es bietet eine einfache Möglichkeit zum Parsen grundlegender Typen und Zeichenfolgen und unterstützt den Abgleich regulärer Ausdrücke.

Die Scanner-Klasse befindet sich im Paket java.util, daher müssen Sie dieses Paket importieren, wenn Sie ein Programm schreiben. Bevor wir mit der Verwendung von Scanner beginnen, müssen wir ein Scanner-Objekt erstellen, um auf die Eingabequelle zuzugreifen.

Die Syntax zum Erstellen eines Scanner-Objekts lautet:

Scanner scanner = new Scanner(System.in);

Der obige Code erstellt ein Scanner-Objekt, das zum Lesen von Daten aus dem Standardeingabestream verwendet werden kann. Darüber hinaus können wir auch andere Eingabeströme verwenden, um Scannerobjekte zu erstellen.

Werfen wir einen Blick auf einige häufig verwendete Scannervorgänge.

  1. Eine Zeichenfolge lesen

Wir können eine Zeichenfolge mit der Methode next() lesen, die das nächste Wort in der Konsoleneingabe liest und eine Zeichenfolge zurückgibt.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.next();
System.out.println("你输入的字符串是:" + str);

Das Ergebnis der Ausführung des obigen Codes:

请输入一个字符串:Hello World!
你输入的字符串是:Hello

Der obige Code liest nur das erste Wort „Hallo“ in der Eingabe, da die next()-Methode standardmäßig Leerzeichen verwendet, um die Eingabezeichenfolge zu trennen, sodass nur das erste Wort gelesen wird in der Eingabe. Wenn Sie die gesamte Zeichenfolge lesen müssen, können Sie die Methode nextLine() verwenden.

  1. Ganzzahlen lesen

Wir können nextInt() oder nextLong() verwenden, um eine Ganzzahl oder eine lange Ganzzahl zu lesen. Wenn die Eingabe kein numerischer Typ ist, wird eine InputMismatchException ausgelöst.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = scanner.nextInt();
System.out.println("你输入的整数是:" + num);

Das obige Codeausführungsergebnis:

请输入一个整数:123
你输入的整数是:123
  1. Gleitkommadaten lesen

Wir können nextFloat() oder nextDouble() verwenden, um Gleitkommadaten zu lesen. Wenn es sich bei der Eingabe nicht um Gleitkommadaten handelt, wird eine InputMismatchException ausgelöst.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个浮点数:");
float f = scanner.nextFloat();
System.out.println("你输入的浮点数是:" + f);

Der obige Code führt zu folgenden Ergebnissen:

请输入一个浮点数:3.14
你输入的浮点数是:3.14
  1. Daten vom Typ Boolean lesen

Wir können die Methode nextBoolean() verwenden, um Daten vom Typ Boolean zu lesen. Wenn der Eingabewert nicht wahr oder falsch ist, wird eine InputMismatchException-Ausnahme ausgelöst geworfen.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个布尔值(true/false):");
boolean b = scanner.nextBoolean();
System.out.println("你输入的布尔值是:" + b);

Das obige Code-Ausführungsergebnis:

请输入一个布尔值(true/false):true
你输入的布尔值是:true
  1. Regulären Ausdruck lesen

Scanner bietet auch eine findInLine()-Methode zum Lesen regulärer Ausdrücke. Diese Methode liest das erste Vorkommen des regulären Ausdrucks in der Konsoleneingabe und gibt eine passende Zeichenfolge zurück.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正则表达式:");
String pattern = scanner.findInLine("\d+");
System.out.println("你输入的正则表达式匹配的字符串是:" + pattern);

Das obige Code-Ausführungsergebnis:

请输入一个正则表达式:Hello 123 World!
你输入的正则表达式匹配的字符串是:123

Die oben genannten sind einige allgemeine Operationen der Scanner-Klasse. Ich hoffe, dass sie für alle hilfreich sind, die Java lernen.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Scannerbetriebs in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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