java.util.Scanner.nextDouble() 方法用于将输入的下一个标记扫描为双精度型。如果下一个标记无法转换为有效的双精度值,则此方法将抛出 InputMismatchException,如下所述。如果翻译成功,扫描器将前进到匹配的输入。
语法
public double nextDouble()
参数
不需要参数。
返回值
返回从输入扫描的双精度值。
异常
- 抛出InputMismatchException,如果下一个标记与 Double 正则表达式不匹配,或者超出范围。
- 如果输入已用尽,则抛出 NoSuchElementException。
- 如果此扫描仪关闭,则抛出 IllegalStateException。
示例:
在下面的示例中, java.util.Scanner.nextDouble() 方法用于将输入的下一个标记扫描为双精度型。
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