Heim  >  Artikel  >  Java  >  Detaillierte Erläuterung der Verwendung des Java-Scanners

Detaillierte Erläuterung der Verwendung des Java-Scanners

藏色散人
藏色散人Original
2020-05-30 11:39:1810075Durchsuche

Detaillierte Erläuterung der Verwendung des Java-Scanners

Detaillierte Erläuterung der Java-Scanner-Nutzung

Java-Scanner-Klasse

java .util.Scanner ist eine neue Funktion von Java5. Wir können Benutzereingaben über die Scanner-Klasse erhalten.

Das Folgende ist die grundlegende Syntax zum Erstellen eines Scanner-Objekts:

Scanner s = new Scanner(System.in);

Als nächstes demonstrieren wir die einfachste Dateneingabe und erhalten die Eingabezeichen über die Methoden next() und nextLine() des Scanners Klasse String, vor dem Lesen müssen wir im Allgemeinen hasNext und hasNextLine verwenden, um festzustellen, ob noch Eingabedaten vorhanden sind:

Nächste Methode verwenden:

ScannerDemo.java-Dateicode:

import java.util.Scanner; 
 
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
 
        // next方式接收字符串
        System.out.println("next方式接收:");
        // 判断是否还有输入
        if (scan.hasNext()) {
            String str1 = scan.next();
            System.out.println("输入的数据为:" + str1);
        }
        scan.close();
    }
}

Das Ausgabeergebnis der Ausführung des obigen Programms ist:

$ javac ScannerDemo.java
$ java ScannerDemo

Empfang im nächsten Modus:

runoob com

Die Eingabedaten sind: runoob

Sie können sehen, dass die COM-Zeichenfolge lautet nicht ausgegeben, als nächstes sehen wir nextLine.

NextLine-Methode verwenden:

ScannerDemo.java-Dateicode:

import java.util.Scanner;
 
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
 
        // nextLine方式接收字符串
        System.out.println("nextLine方式接收:");
        // 判断是否还有输入
        if (scan.hasNextLine()) {
            String str2 = scan.nextLine();
            System.out.println("输入的数据为:" + str2);
        }
        scan.close();
    }
}

Das Ausgabeergebnis der Ausführung des obigen Programms ist:

$ javac ScannerDemo.java
$ java ScannerDemo

nextLine-Methode empfängt:

runoob com

Die Eingabedaten sind: runoob com

Sie können die com-String-Ausgabe sehen.

next() und nextLine() Unterschiede

next():

1 Sie müssen gültige Zeichen lesen, bevor Sie die Eingabe beenden können.

2. Die next()-Methode entfernt automatisch die gefundenen Leerzeichen, bevor gültige Zeichen eingegeben werden.

3. Verwenden Sie erst nach der Eingabe gültiger Zeichen das dahinter eingegebene Leerzeichen als Trennzeichen oder Abschlusszeichen.

next() kann keine Zeichenfolgen mit Leerzeichen abrufen.

nextLine():

1 ist das Endzeichen, was bedeutet, dass die nextLine()-Methode alle Zeichen vor der Eingabe zurückgibt.

2. Sie können Leerzeichen erhalten.

Wenn Sie Daten vom Typ int oder float eingeben möchten, wird dies auch in der Scanner-Klasse unterstützt. Am besten verwenden Sie jedoch vor der Eingabe die Methode hasNextXxx() zur Überprüfung und verwenden Sie dann nextXxx() zum Lesen :

ScannerDemo.java-Dateicode:

import java.util.Scanner;
 
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        // 从键盘接收数据
        int i = 0;
        float f = 0.0f;
        System.out.print("输入整数:");
        if (scan.hasNextInt()) {
            // 判断输入的是否是整数
            i = scan.nextInt();
            // 接收整数
            System.out.println("整数数据:" + i);
        } else {
            // 输入错误的信息
            System.out.println("输入的不是整数!");
        }
        System.out.print("输入小数:");
        if (scan.hasNextFloat()) {
            // 判断输入的是否是小数
            f = scan.nextFloat();
            // 接收小数
            System.out.println("小数数据:" + f);
        } else {
            // 输入错误的信息
            System.out.println("输入的不是小数!");
        }
        scan.close();
    }
}

Das Ausgabeergebnis der Ausführung des obigen Programms ist:

$ javac ScannerDemo.java
$ java ScannerDemo
输入整数:12
整数数据:12
输入小数:1.2
小数数据:1.2

Im folgenden Beispiel können wir mehrere Zahlen eingeben und berechnen Summe und Durchschnitt. Jedes Mal, wenn wir eine Zahl eingeben, bestätigen wir die Zahl mit der Eingabetaste, beenden die Eingabe durch die Eingabe einer Nicht-Zahl und geben das Ausführungsergebnis aus:

ScannerDemo.java-Dateicode:

import java.util.Scanner;
 
class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
 
        double sum = 0;
        int m = 0;
 
        while (scan.hasNextDouble()) {
            double x = scan.nextDouble();
            m = m + 1;
            sum = sum + x;
        }
 
        System.out.println(m + "个数的和为" + sum);
        System.out.println(m + "个数的平均值是" + (sum / m));
        scan.close();
    }
}

The Das Ausgabeergebnis der Ausführung des obigen Programms ist:

$ javac ScannerDemo.java
$ java ScannerDemo
12
23
15
21.4
end
4个数的和为71.4
4个数的平均值是17.85

Empfohlen: „Java Learning

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung des Java-Scanners. 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