Java Scanner nextDouble() 方法



描述

Java Scanner nextDouble() 方法將輸入的下一個標記掃描為雙精度浮點數。如果下一個標記無法轉換為有效的雙精度浮點數,則此方法將丟擲 InputMismatchException 異常。如果轉換成功,掃描程式將跳過匹配的輸入。

宣告

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

public double nextDouble()

引數

返回值

此方法返回從輸入掃描的雙精度浮點數

異常

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

  • NoSuchElementException − 如果輸入已耗盡

  • IllegalStateException − 如果此掃描程式已關閉

在字串上使用 Scanner 獲取下一個標記作為雙精度浮點數的示例

以下示例演示瞭如何使用 Java Scanner nextDouble() 方法將下一個標記掃描為雙精度浮點數。我們使用給定的字串建立了一個掃描程式物件。然後我們檢查每個標記是否為雙精度浮點數,如果不是,則列印“未找到”以及掃描到的標記。最後,使用 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 Double
         if(scanner.hasNextDouble()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextDouble());		 
         } 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 nextDouble() 方法將下一個標記掃描為雙精度浮點數。我們使用 System.in 類建立了一個掃描程式物件。然後我們檢查每個標記是否為雙精度浮點數,如果不是,則列印“未找到”以及掃描到的標記。最後,使用 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 Double
         if(scanner.hasNextDouble()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextDouble());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

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

輸出

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

3.0
Found: 3.0

在屬性檔案上使用 Scanner 獲取下一個標記作為雙精度浮點數的示例

以下示例演示瞭如何使用 Java Scanner nextDouble() 方法將下一個標記掃描為雙精度浮點數。我們使用檔案 properties.txt 建立了一個掃描程式物件。然後我們檢查每個標記是否為雙精度浮點數,如果不是,則列印“未找到”以及掃描到的標記。最後,使用 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 Double
         if(scanner.hasNextDouble()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextDouble());		 
         } 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
廣告