<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Java `Scanner`類 > 原文: [https://www.programiz.com/java-programming/scanner](https://www.programiz.com/java-programming/scanner) #### 在本教程中,我們將借助示例學習 Java 掃描器及其方法。 `java.util`包的`Scanner`類用于從不同的源(例如輸入流,用戶,文件等)讀取輸入數據。讓我們舉個例子。 * * * ## 示例 1:使用掃描器讀取一行文本 ```java import java.util.Scanner; class Main { public static void main(String[] args) { // Creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // Takes input from the keyboard String name = input.nextLine(); // Prints name System.out.println("My name is " + name); // Closes the scanner input.close(); } } ``` **輸出** ```java Enter your name: Jack My name is Jack ``` 在上面的示例中,請注意以下行 ```java Scanner input = new Scanner(System.in); ``` 在這里,我們創建了一個名為`input`的`Scanner`對象。 `System.in`參數用于從標準輸入中獲取輸入。 就像從鍵盤上獲取輸入一樣。 然后,我們使用`Scanner`類的`nextLine()`方法從用戶讀取一行文本。 現在您對`Scanner`有了一些了解,讓我們對其進行更多的探索。 * * * ## 導入掃描器類 從上面的示例中可以看到,我們需要先導入`java.util.Scanner`包,然后才能使用`Scanner`類。 ```java import java.util.Scanner; ``` * * * ## 用 Java 創建掃描器對象 如上所述,導入包后,就可以創建`Scanner`對象。 ```java // To read input from the input stream Scanner sc1 = new Scanner(InputStream input); // To read input from files Scanner sc2 = new Scanner(File file); // To read input from a string Scanner sc3 = new Scanner(String str); ``` 在這里,我們創建了`Scanner`類的對象,這些對象將從 [InputStream](https://www.programiz.com/java-programming/inputstream "InputStream") ,文件和字符串中分別讀取輸入。 * * * ## Java 掃描器輸入方法 `Scanner`類提供了各種方法,使我們可以讀取不同類型的輸入。 | 方法 | 描述 | | --- | --- | | `nextInt()` | 從用戶讀取`int`值 | | `nextFloat()` | 從用戶讀取`float`值 | | `nextBoolean()` | 從用戶讀取`boolean`值 | | `nextLine()` | 從用戶讀取一行文本 | | `next()` | 讀取用戶的單詞 | | `nextByte()` | 從用戶讀取`byte`值 | | `nextDouble()` | 從用戶讀取`doubl`e 值 | | `nextShort()` | 從用戶讀取`short`值 | | `nextLong()` | 從用戶讀取`long`值 | * * * ### 示例 2:Java 掃描器`nextInt()` ```java import java.util.Scanner; class Main { public static void main(String[] args) { // creating a Scanner object Scanner input = new Scanner(System.in); System.out.println("Enter an integer: "); // read an int value int data1 = input.nextInt(); System.out.println("Using nextInt(): " + data1); input.close(); } } ``` **輸出**: ```java Enter an integer: 22 Using nextInt(): 22 ``` 在上面的示例中,我們使用`nextInt()`方法讀取整數值。 * * * ### 示例 3:Java 掃描器`nextDouble()` ```java import java.util.Scanner; class Main { public static void main(String[] args) { // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter double value: "); // reads the double value double value = input.nextDouble(); System.out.println("Using nextDouble(): " + value); input.close(); } } ``` **輸出**: ```java Enter double value: 33.33 Using nextDouble(): 33.33 ``` 在上面的示例中,我們使用`nextDouble()`方法讀取浮點值。 * * * ### 示例 4:Java 掃描器`next()` ```java import java.util.Scanner; class Main { public static void main(String[] args) { // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire word String value = input.next(); System.out.println("Using next(): " + value); input.close(); } } ``` **輸出**: ```java Enter your name: Jonny Walker Using next(): Jonny ``` 在上面的示例中,我們已使用`next()`方法從用戶讀取字符串。 在這里,我們提供了全名。 但是,`next()`方法僅讀取名字。 這是因為`next()`方法最多讀取**空白**字符的輸入。 一旦遇到**空格**,它將返回字符串(不包括空格)。 * * * ### 示例 5:Java 掃描器`nextLine()` ```java import java.util.Scanner; class Main { public static void main(String[] args) { // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire line String value = input.nextLine(); System.out.println("Using nextLine(): " + value); input.close(); } } ``` **輸出**: ```java Enter your name: Jonny Walker Using nextLine(): Jonny Walker ``` 在第一個示例中,我們使用`nextLine()`方法從用戶讀取字符串。 與`next()`不同,`nextLine()`方法讀取包括空格在內的整行輸入。 當遇到下一個行字符`\n`時,該方法終止。 **推薦閱讀**: [Java 掃描器跳過`nextLine()`](https://stackoverflow.com/questions/13102045/scanner-is-skipping-nextline-after-using-next-or-nextfoo "Java Scanner skipping the nextLine()")。 * * * ## Java 掃描器和`BigInteger`和`BigDecimal` Java 掃描器還可以用于讀取大整數和大十進制數。 要了解`BigInteger`和`BigDecimal`,請訪問 Java `BigInteger`和 Java `BigDecimal`。 * `nextBigInteger()` - 從用戶讀取大整數值 * `nextBigDecimal()` - 從用戶讀取大十進制值 * * * ### 示例 4:讀取`BigInteger`和`BigDecimal` ```java import java.math.BigDecimal; import java.math.BigInteger; import java.util.Scanner; class Main { public static void main(String[] args) { // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter a big integer: "); // reads the big integer BigInteger value1 = input.nextBigInteger(); System.out.println("Using nextBigInteger(): " + value1); System.out.print("Enter a big decimal: "); // reads the big decimal BigDecimal value2 = input.nextBigDecimal(); System.out.println("Using nextBigDecimal(): " + value2); input.close(); } } ``` **輸出**: ```java Enter a big integer: 987654321 Using nextBigInteger(): 987654321 Enter a big decimal: 9.55555 Using nextBigDecimal(): 9.55555 ``` 在上面的示例中,我們使用`java.math.BigInteger`和`java.math.BigDecimal`包分別讀取`BigInteger`和`BigDecimal`。 * * * ## Java 掃描器的工作原理 `Scanner`類讀取整行并將該行分為令牌。 令牌是對 Java 編譯器有意義的小元素。 例如, 假設有一個輸入字符串: ```java He is 22 ``` 在這種情況下,掃描器對象將讀取整行并將字符串分成標記:`He`,`is`,`22 `。 然后,對象遍歷每個令牌,并使用其不同方法讀取每個令牌。 **注意**:默認情況下,空格用于劃分令牌。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看