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


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


java.util.Scanner類的nextDouble()方法將輸入的下一個標記掃描為Double。如果翻譯成功,則掃描程序將前進經過匹配的輸入。

用法:

public double nextDouble()

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


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

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

  • InputMismatchException:如果下一個標記與Double正則表達式不匹配,或者超出範圍
  • NoSuchElementException:如果輸入已用盡則拋出
  • IllegalStateException:如果此掃描儀關閉,則拋出

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

示例1:

// Java program to illustrate the 
// nextDouble() 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 Double, 
            // print found and the Double 
            if (scanner.hasNextDouble()) { 
                System.out.println("Found Double value :"
                                   + scanner.nextDouble()); 
            } 
  
            // if no Double is found, 
            // print "Not Found:" and the token 
            else { 
                System.out.println("Not found Double() value :"
                                   + scanner.next()); 
            } 
        } 
        scanner.close(); 
    } 
}
輸出:
Not found Double() value :Gfg
Found Double value :9.0
Not found Double() value :+
Found Double value :6.0
Not found Double() value :=
Found Double value :12.0

示例2:演示InputMismatchException

// Java program to illustrate the 
// nextDouble() 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 Double 
                // print found and the Double 
                // since the value 60 is out of range 
                // it throws an exception 
  
                System.out.println("Next Double value :"
                                   + scanner.nextDouble()); 
            } 
            scanner.close(); 
        } 
        catch (Exception e) { 
            System.out.println("Exception thrown: " + e); 
        } 
    } 
}
輸出:
Exception thrown: java.util.InputMismatchException

示例3:演示NoSuchElementException

// Java program to illustrate the 
// nextDouble() 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 Double value 
            // more times than the scanner 
            // Hence it will throw exception 
            for (int i = 0; i < 5; i++) { 
  
                // if the next is a Double, 
                // print found and the Double 
                if (scanner.hasNextDouble()) { 
                    System.out.println("Found Double value :"
                                       + scanner.nextDouble()); 
                } 
  
                // if no Double is found, 
                // print "Not Found:" and the token 
                else { 
                    System.out.println("Not found Double value :"
                                       + scanner.next()); 
                } 
            } 
            scanner.close(); 
        } 
        catch (Exception e) { 
            System.out.println("Exception thrown: " + e); 
        } 
    } 
}
輸出:
Not found Double value :Gfg
Exception thrown: java.util.NoSuchElementException

示例4:演示IllegalStateException

// Java program to illustrate the 
// nextDouble() 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 Double value"); 
  
            while (scanner.hasNext()) { 
  
                // if the next is a Double, 
                // print found and the Double 
                if (scanner.hasNextDouble()) { 
                    System.out.println("Found Double value :"
                                       + scanner.nextDouble()); 
                } 
  
                // if no Double is found, 
                // print "Not Found:" and the token 
                else { 
                    System.out.println("Not found Double value :"
                                       + scanner.next()); 
                } 
            } 
        } 
        catch (Exception e) { 
            System.out.println("Exception thrown: " + e); 
        } 
    } 
}
輸出:
Scanner Closed
Trying to get next Double value
Exception thrown: java.lang.IllegalStateException: Scanner closed

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



相關用法


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