Java.util.Scanner 类

如果扫描仪输入中的下一个标记可以解释为,则 java.util.Scanner.hasNextDouble() 方法返回 true使用 nextDouble() 方法的双精度值。扫描器不会前进超过任何输入。

语法

public boolean hasNextDouble()

参数

不需要参数。

返回值

当且仅当扫描器的下一个标记是有效的双精度值时返回 true。

异常

抛出IllegalStateException,如果扫描仪已关闭。

示例:

在下面的示例中,java.util.Scanner.hasNextDouble() 方法用于检查扫描仪的下一个标记是否是有效的双精度值。

import java.util.*;

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

    //要扫描的字符串
    String MyString = "Hello World 10 + 20 = 30.0";

    //创建扫描仪
    Scanner MyScan = new Scanner(MyString);

    while(MyScan.hasNext()) {
      //检查下一个标记是否为双精度
      //如果是,则打印双精度值
      if(MyScan.hasNextDouble())
        System.out.println("Double value is: "+ MyScan.nextDouble());
      //如果下一个标记不是双精度型
      else
        System.out.println("No Double Value found: "+ MyScan.next());
    }

    //关闭扫描仪
    MyScan.close();
  }
}

上述代码的输出将是:

No Double Value found: Hello
No Double Value found: World
Double value is: 10.0
No Double Value found: +
Double value is: 20.0
No Double Value found: =
Double value is: 30.0