- Java.util 包类
- Java.util - 首页
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util 包其他内容
- Java.util - 接口
- Java.util - 异常
- Java.util - 枚举
- Java.util 有用资源
- Java.util - 有用资源
- Java.util - 讨论
Java Scanner nextDouble() 方法
描述
Java Scanner nextDouble() 方法将输入的下一个标记扫描为双精度浮点数。如果下一个标记无法转换为有效的双精度浮点数,则此方法将抛出 InputMismatchException 异常。如果转换成功,扫描程序将跳过匹配的输入。
声明
以下是 java.util.Scanner.nextDouble() 方法的声明
public double nextDouble()
参数
无
返回值
此方法返回从输入扫描的双精度浮点数
异常
InputMismatchException − 如果下一个标记与浮点数正则表达式不匹配,或超出范围
NoSuchElementException − 如果输入已耗尽
IllegalStateException − 如果此扫描程序已关闭
在字符串上使用 Scanner 获取下一个标记作为双精度浮点数的示例
以下示例演示了如何使用 Java Scanner nextDouble() 方法将下一个标记扫描为双精度浮点数。我们使用给定的字符串创建了一个扫描程序对象。然后我们检查每个标记是否为双精度浮点数,如果不是,则打印“未找到”以及扫描到的标记。最后,使用 close() 方法关闭扫描程序。
package com.tutorialspoint; import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { String s = "Hello World! 3 + 3.0 = 6"; // create a new scanner with the specified String Object Scanner scanner = new Scanner(s); while (scanner.hasNext()) { // check if the scanner's next token is a Double if(scanner.hasNextDouble()){ // print what is scanned System.out.println("Found: " + scanner.nextDouble()); } else { 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
在用户输入上使用 Scanner 获取下一个标记作为双精度浮点数的示例
以下示例演示了如何使用 Java Scanner nextDouble() 方法将下一个标记扫描为双精度浮点数。我们使用 System.in 类创建了一个扫描程序对象。然后我们检查每个标记是否为双精度浮点数,如果不是,则打印“未找到”以及扫描到的标记。最后,使用 close() 方法关闭扫描程序。
package com.tutorialspoint; import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { // create a new scanner with System Input Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { // check if the scanner's next token is a Double if(scanner.hasNextDouble()){ // print what is scanned System.out.println("Found: " + scanner.nextDouble()); } else { System.out.println("Not Found: " + scanner.next()); } } // close the scanner scanner.close(); } }
输出
让我们编译并运行以上程序,这将产生以下结果:(我们输入了 3.0。)
3.0 Found: 3.0
在属性文件上使用 Scanner 获取下一个标记作为双精度浮点数的示例
以下示例演示了如何使用 Java Scanner nextDouble() 方法将下一个标记扫描为双精度浮点数。我们使用文件 properties.txt 创建了一个扫描程序对象。然后我们检查每个标记是否为双精度浮点数,如果不是,则打印“未找到”以及扫描到的标记。最后,使用 close() 方法关闭扫描程序。
package com.tutorialspoint; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) throws FileNotFoundException { // create a new scanner with a file as input Scanner scanner = new Scanner(new File("properties.txt")); while (scanner.hasNext()) { // check if the scanner's next token is a Double if(scanner.hasNextDouble()){ // print what is scanned System.out.println("Found: " + scanner.nextDouble()); } else { System.out.println("Not Found: " + scanner.next()); } } // close the scanner scanner.close(); } }
假设我们在 CLASSPATH 中有一个名为 properties.txt 的文件,其内容如下。此文件将用作我们示例程序的输入:
Hello World! 3 + 3.0 = 6
输出
让我们编译并运行以上程序,这将产生以下结果:
Not Found: Hello Not Found: World! Found: 3.0 Not Found: + Found: 3.0 Not Found: = Found: 6.0