Java.util.Scanner.nextDouble() 方法

描述

java.util.Scanner.nextDouble() 方法将输入的下一个标记扫描为双精度。 如果下一个标记无法转换为有效的双精度值,此方法将抛出 InputMismatchException。 如果翻译成功,扫描仪会超过匹配的输入。


声明

以下是 java.util.Scanner.nextDouble() 方法的声明

public double nextDouble()

参数

NA


返回值

该方法从输入返回双扫描


异常

  • InputMismatchException − 如果下一个标记与 Float 正则表达式不匹配,或者超出范围

  • NoSuchElementException − 如果没有更多的元素

  • IllegalStateException − 如果此扫描仪已关闭


示例

下面的例子展示了 java.util.Scanner.nextDouble() 方法的使用。

package com.tutorialspoint;

import java.util.*;

public class ScannerDemo {
   public static void main(String[] args) {

      String s = "Hello World! 3 + 3.0 = 6 true";

      // create a new scanner with the specified String Object
      Scanner scanner = new Scanner(s);

      // use US locale to be able to identify doubles in the string
      scanner.useLocale(Locale.US);

      // find the next double token and print it
      // loop for the whole scanner
      while (scanner.hasNext()) {

         // if the next is a double, print found and the double
         if (scanner.hasNextDouble()) {
            System.out.println("Found :" + scanner.nextDouble());
         }

         // if a double is not found, print "Not Found" and the token
         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
Not Found :true