Java Scanner nextBigDecimal() 方法



描述

java Scanner nextBigDecimal() 方法將輸入的下一個標記掃描為 BigDecimal。如果下一個標記與上面定義的十進位制正則表示式匹配,則該標記將轉換為 BigDecimal 值,方法是移除所有組分隔符,透過 Character.digit 將非 ASCII 數字對映到 ASCII 數字,並將結果字串傳遞給 BigDecimal(String) 建構函式。

宣告

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

public BigDecimal nextBigDecimal()

引數

返回值

此方法返回從輸入中掃描的 BigDecimal

異常

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

  • NoSuchElementException − 如果輸入已用盡

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

在字串上的 Scanner 上獲取下一個標記作為 BigDecimal 的示例

以下示例演示瞭如何使用 Java Scanner nextBigDecimal() 方法將下一個標記掃描為 BigDecimal。我們使用給定的字串建立了一個掃描器物件。然後我們檢查每個標記是否為 BigDecimal,並打印出來,否則列印“未找到”以及掃描的標記。最後,使用 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 BigDecimal
         if(scanner.hasNextBigDecimal()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextBigDecimal());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

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

輸出

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

Not Found: Hello
Not Found: World!
Found: 3
Not Found: +
Found: 3.0
Not Found: =
Found: 6

在使用者輸入上的 Scanner 上獲取下一個標記作為 BigDecimal 的示例

以下示例演示瞭如何使用 Java Scanner nextBigDecimal() 方法將下一個標記掃描為 BigDecimal。我們使用 System.in 類建立了一個掃描器物件。然後我們檢查每個標記是否為 BigDecimal,並打印出來,否則列印“未找到”以及掃描的標記。最後,使用 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 BigDecimal
         if(scanner.hasNextBigDecimal()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextBigDecimal());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

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

輸出

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

3.0
Found: 3.0

在屬性檔案上的 Scanner 上獲取下一個標記作為 BigDecimal 的示例

以下示例演示瞭如何使用 Java Scanner nextBigDecimal() 方法將下一個標記掃描為 BigDecimal。我們使用檔案 properties.txt 建立了一個掃描器物件。然後我們檢查每個標記是否為 BigDecimal,並打印出來,否則列印“未找到”以及掃描的標記。最後,使用 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 BigDecimal
         if(scanner.hasNextBigDecimal()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextBigDecimal());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

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

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

Hello World! 3 + 3.0 = 6

輸出

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

3
3.0
6
java_util_scanner.htm
廣告