当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。