當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Scanner nextBigDecimal()用法及代碼示例


java.util.Scanner類的nextBigDecimal()方法將輸入的下一個標記掃描為BigDecimal。如果下一個標記與上麵定義的Decimal正則表達式匹配,則將該標記轉換為BigDecimal值,就像通過刪除所有組分隔符,通過Character.digit將非ASCII數字映射為ASCII數字並將結果字符串傳遞給BigDecimal一樣。 (字符串)構造函數。

用法:

public BigDecimal nextBigDecimal()

參數:該函數不接受任何參數。


返回值:此函數返回從輸入掃描的BigDecimal。

異常:該函數引發三個異常,如下所述:

  • InputMismatchException:如果下一個令牌不是有效的BigDecimal或超出範圍
  • NoSuchElementException:如果輸入已用盡則拋出
  • IllegalStateException:如果此掃描儀關閉,則拋出

以下示例程序旨在說明上述函數:

示例1:

// Java program to illustrate the 
// nextBigDecimal() method of Scanner class in Java 
// without parameter 
  
import java.util.*; 
  
public class GFG1 { 
    public static void main(String[] argv) 
        throws Exception 
    { 
  
        String s = "Gfg 9 + 6 = 12.0"; 
  
        // create a new scanner 
        // with the specified String Object 
        Scanner scanner = new Scanner(s); 
  
        while (scanner.hasNext()) { 
  
            // if the next is a BigDecimal, 
            // print found and the BigDecimal 
            if (scanner.hasNextBigDecimal()) { 
                System.out.println("Found BigDecimal value :"
                                   + scanner.nextBigDecimal()); 
            } 
  
            // if no BigDecimal is found, 
            // print "Not Found:" and the token 
            else { 
                System.out.println("Not found BigDecimal() value :"
                                   + scanner.next()); 
            } 
        } 
        scanner.close(); 
    } 
}
輸出:
Not found BigDecimal() value :Gfg
Found BigDecimal value :9
Not found BigDecimal() value :+
Found BigDecimal value :6
Not found BigDecimal() value :=
Found BigDecimal value :12.0

示例2:演示InputMismatchException

// Java program to illustrate the 
// nextBigDecimal() method of Scanner class in Java 
// InputMismatchException 
  
import java.util.*; 
  
public class GFG1 { 
    public static void main(String[] argv) 
        throws Exception 
    { 
  
        try { 
  
            String s = "Gfg 9 + 6 = 12.0"; 
  
            // create a new scanner 
            // with the specified String Object 
            Scanner scanner = new Scanner(s); 
  
            while (scanner.hasNext()) { 
  
                // if the next is a BigDecimal 
                // print found and the BigDecimal 
                // since the value 60 is out of range 
                // it throws an exception 
  
                System.out.println("Next BigDecimal value :"
                                   + scanner.nextBigDecimal()); 
            } 
            scanner.close(); 
        } 
        catch (Exception e) { 
            System.out.println("Exception thrown: " + e); 
        } 
    } 
}
輸出:
Exception thrown: java.util.InputMismatchException

示例3:演示NoSuchElementException

// Java program to illustrate the 
// nextBigDecimal() method of Scanner class in Java 
// NoSuchElementException 
  
import java.util.*; 
  
public class GFG1 { 
    public static void main(String[] argv) 
        throws Exception 
    { 
  
        try { 
  
            String s = "Gfg"; 
  
            // create a new scanner 
            // with the specified String Object 
            Scanner scanner = new Scanner(s); 
  
            // Trying to get the next BigDecimal value 
            // more times than the scanner 
            // Hence it will throw exception 
            for (int i = 0; i < 5; i++) { 
  
                // if the next is a BigDecimal, 
                // print found and the BigDecimal 
                if (scanner.hasNextBigDecimal()) { 
                    System.out.println("Found BigDecimal value :"
                                       + scanner.nextBigDecimal()); 
                } 
  
                // if no BigDecimal is found, 
                // print "Not Found:" and the token 
                else { 
                    System.out.println("Not found BigDecimal value :"
                                       + scanner.next()); 
                } 
            } 
            scanner.close(); 
        } 
        catch (Exception e) { 
            System.out.println("Exception thrown: " + e); 
        } 
    } 
}
輸出:
Not found BigDecimal value :Gfg
Exception thrown: java.util.NoSuchElementException

示例4:演示IllegalStateException

// Java program to illustrate the 
// nextBigDecimal() method of Scanner class in Java 
// IllegalStateException 
  
import java.util.*; 
  
public class GFG1 { 
    public static void main(String[] argv) 
        throws Exception 
    { 
  
        try { 
  
            String s = "Gfg 9 + 6 = 12.0"; 
  
            // create a new scanner 
            // with the specified String Object 
            Scanner scanner = new Scanner(s); 
  
            // close the scanner 
            scanner.close(); 
            System.out.println("Scanner Closed"); 
  
            System.out.println("Trying to get "
                               + "next BigDecimal value"); 
  
            while (scanner.hasNext()) { 
  
                // if the next is a BigDecimal, 
                // print found and the BigDecimal 
                if (scanner.hasNextBigDecimal()) { 
                    System.out.println("Found BigDecimal value :"
                                       + scanner.nextBigDecimal()); 
                } 
  
                // if no BigDecimal is found, 
                // print "Not Found:" and the token 
                else { 
                    System.out.println("Not found BigDecimal value :"
                                       + scanner.next()); 
                } 
            } 
        } 
        catch (Exception e) { 
            System.out.println("Exception thrown: " + e); 
        } 
    } 
}
輸出:
Scanner Closed
Trying to get next BigDecimal value
Exception thrown: java.lang.IllegalStateException: Scanner closed

參考: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextBigDecimal()



相關用法


注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 Scanner nextBigDecimal() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。