Java Scanner nextFloat() 方法



描述

Java Scanner nextFloat() 方法掃描輸入的下一個標記作為浮點數。如果下一個標記無法像下面描述的那樣轉換為有效的浮點數值,則此方法將丟擲 InputMismatchException 異常。如果轉換成功,掃描器將前進到匹配的輸入之後。

宣告

以下是 java.util.Scanner.nextFloat() 方法的宣告

public float nextFloat()

引數

返回值

此方法返回從輸入掃描的浮點數。

異常

  • InputMismatchException − 如果下一個標記與 Float 正則表示式不匹配,或者超出範圍。

  • NoSuchElementException − 如果輸入已耗盡。

  • IllegalStateException − 如果此掃描器已關閉。

基於字串的 Scanner 獲取下一個浮點數標記示例

以下示例演示瞭如何使用 Java Scanner nextFloat() 方法將下一個標記掃描為 Float。我們使用給定的字串建立了一個掃描器物件。然後我們檢查每個標記是否為 Float,如果是則打印出來,否則列印“未找到”以及掃描到的標記。最後,使用 close() 方法關閉掃描器。

package com.tutorialspoint;

import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) {

      String s = "Hello World! 3 + 3.0 = 6";

      // create a new scanner with the specified String Object
      Scanner scanner = new Scanner(s);

      while (scanner.hasNext()) {
         
         // check if the scanner's next token is a Float
         if(scanner.hasNextFloat()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextFloat());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

      // close the scanner
      scanner.close();
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Not Found: Hello
Not Found: World!
Found: 3.0
Not Found: +
Found: 3.0
Not Found: =
Found: 6.0

基於使用者輸入的 Scanner 獲取下一個浮點數標記示例

以下示例演示瞭如何使用 Java Scanner nextFloat() 方法將下一個標記掃描為 Float。我們使用 System.in 類建立了一個掃描器物件。然後我們檢查每個標記是否為 Float,如果是則打印出來,否則列印“未找到”以及掃描到的標記。最後,使用 close() 方法關閉掃描器。

package com.tutorialspoint;

import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) {

      // create a new scanner with System Input
      Scanner scanner = new Scanner(System.in);
         
      while (scanner.hasNext()) {
         
         // check if the scanner's next token is a Float
         if(scanner.hasNextFloat()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextFloat());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

      // close the scanner
      scanner.close();
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:(我們輸入了 3.0。)

3.0
Found: 3.0

基於屬性檔案的 Scanner 獲取下一個浮點數標記示例

以下示例演示瞭如何使用 Java Scanner nextFloat() 方法將下一個標記掃描為 Float。我們使用檔案 properties.txt 建立了一個掃描器物件。然後我們檢查每個標記是否為 Float,如果是則打印出來,否則列印“未找到”以及掃描到的標記。最後,使用 close() 方法關閉掃描器。

package com.tutorialspoint;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) throws FileNotFoundException {

      // create a new scanner with a file as input
      Scanner scanner = new Scanner(new File("properties.txt"));
         
      while (scanner.hasNext()) {
         
         // check if the scanner's next token is a Float
         if(scanner.hasNextFloat()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextFloat());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

      // close the scanner
      scanner.close();
   }
}

假設在你的 CLASSPATH 中有一個名為 properties.txt 的檔案,其內容如下。此檔案將用作我們示例程式的輸入:

Hello World! 3 + 3.0 = 6

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Not Found: Hello
Not Found: World!
Found: 3.0
Not Found: +
Found: 3.0
Not Found: =
Found: 6.0
java_util_scanner.htm
廣告