Java Scanner nextFloat() 方法



描述

Java Scanner nextFloat() 方法扫描输入的下一个标记作为浮点数。如果下一个标记无法像下面描述的那样转换为有效的浮点数值,则此方法将抛出 InputMismatchException 异常。如果转换成功,扫描器将前进到匹配的输入之后。

声明

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

public float nextFloat()

参数

返回值

此方法返回从输入扫描的浮点数。

异常

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

  • NoSuchElementException − 如果输入已耗尽。

  • IllegalStateException − 如果此扫描器已关闭。

基于字符串的 Scanner 获取下一个浮点数标记示例

以下示例演示了如何使用 Java Scanner nextFloat() 方法将下一个标记扫描为 Float。我们使用给定的字符串创建了一个扫描器对象。然后我们检查每个标记是否为 Float,如果是则打印出来,否则打印“未找到”以及扫描到的标记。最后,使用 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 Float
         if(scanner.hasNextFloat()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextFloat());		 
         } 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 nextFloat() 方法将下一个标记扫描为 Float。我们使用 System.in 类创建了一个扫描器对象。然后我们检查每个标记是否为 Float,如果是则打印出来,否则打印“未找到”以及扫描到的标记。最后,使用 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 Float
         if(scanner.hasNextFloat()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextFloat());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

      // close the scanner
      scanner.close();
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:(我们输入了 3.0。)

3.0
Found: 3.0

基于属性文件的 Scanner 获取下一个浮点数标记示例

以下示例演示了如何使用 Java Scanner nextFloat() 方法将下一个标记扫描为 Float。我们使用文件 properties.txt 创建了一个扫描器对象。然后我们检查每个标记是否为 Float,如果是则打印出来,否则打印“未找到”以及扫描到的标记。最后,使用 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 Float
         if(scanner.hasNextFloat()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextFloat());		 
         } 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
java_util_scanner.htm
广告