In den vorherigen Abschnitten haben wir gelernt, wie man Split(String Regex) der String-Klasse verwendet, um einen String zu zerlegen, und wie man die StringTokenizer-Klasse verwendet, um Wörter in einem String zu analysieren. In diesem Abschnitt lernen wir, wie man Objekte der Scanner-Klasse verwendet zum Parsen aus Zeichenfolgen.
Es gibt zwei Möglichkeiten, die vom Programm benötigten Daten zu analysieren. Eine besteht darin, das Standard-Trennzeichen-Tag zum Parsen der Zeichenfolge zu verwenden, und die andere darin, reguläre Ausdrücke als Trennzeichen-Tags zum Parsen der Zeichenfolge zu verwenden Verfahren.
Um eine Zeichenfolge mit dem Standard-Trennzeichen-Tag zu analysieren, müssen wir ein Scanner-Objekt erstellen und die zu analysierende Zeichenfolge an das erstellte Objekt übergeben, zum Beispiel:
StringNBA=ILoveThisGame;
Um die Wörter in NBA zu analysieren, können wir ein Scanner-Objekt erstellen:
Scannerscanner=newScanner(NBA);
Dann verwendet der Scanner Leerzeichen als Trennzeichen, um die Wörter in der Zeichenfolge zu analysieren. Die Merkmale des Analysevorgangs sind wie folgt:
1) Der Scanner ruft die next()-Methode auf, um die Wörter in NBA der Reihe nach zurückzugeben. Wenn das letzte Wort in NBA von der next()-Methode zurückgegeben wurde, ruft der Scanner hasNext() auf, um false zurückzugeben, andernfalls gibt er true zurück.
2) Für numerische Wörter in der analysierten Zeichenfolge, wie 123, 1,23 usw., kann der Scanner die Methode nextInt() oder nextDouble() anstelle der Methode next() verwenden, d. h. der Scanner kann nextInt( aufrufen ) oder nextDouble()-Methode. Konvertieren Sie numerische Wörter in int- oder double-Daten und geben Sie sie zurück.
3) Wenn das Wort kein numerisches Wort ist, tritt eine InputMismatchException auf, wenn der Scanner die Methode nextInt() oder nextDouble() aufruft. Bei der Behandlung der Ausnahme kann die Methode next() aufgerufen werden, um das nicht digitale Wort zurückzugeben.