Java Scanner nextBoolean() 方法



描述

java Scanner nextBoolean() 方法扫描输入的下一个标记为布尔值,并返回该值。如果下一个标记无法转换为有效的布尔值,则此方法将抛出 InputMismatchException 异常。如果匹配成功,扫描器将跳过与之匹配的输入。

声明

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

public boolean nextBoolean()

参数

返回值

此方法返回从输入中扫描的布尔值

异常

  • InputMismatchException - 如果下一个标记不是有效的布尔值

  • NoSuchElementException - 如果输入已耗尽

  • IllegalStateException - 如果此扫描器已关闭

在字符串上使用 Scanner 获取下一个标记作为布尔值的示例

以下示例演示了如何使用 Java Scanner nextBoolean() 方法将下一个标记扫描为布尔值。我们使用给定的字符串创建了一个扫描器对象。然后我们检查每个标记是否为布尔值,如果不是则打印“未找到”以及扫描的标记。最后,使用 close() 方法关闭扫描器。

package com.tutorialspoint;

import java.util.Scanner;

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

      String s = "Hello World! true 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 Boolean
         if(scanner.hasNextBoolean()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextBoolean());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

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

输出

让我们编译并运行上述程序,这将产生以下结果:

Not Found: Hello
Not Found: World!
Found: true
Not Found: 3
Not Found: +
Not Found: 3.0
Not Found: =
Not Found: 6

在用户输入上使用 Scanner 获取下一个标记作为布尔值的示例

以下示例演示了如何使用 Java Scanner nextBoolean() 方法将下一个标记扫描为布尔值。我们使用 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 Boolean
         if(scanner.hasNextBoolean()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextBoolean());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

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

输出

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

true
Found: true

在属性文件上使用 Scanner 获取下一个标记作为布尔值的示例

以下示例演示了如何使用 Java Scanner nextBoolean() 方法将下一个标记扫描为布尔值。我们使用文件 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 Boolean
         if(scanner.hasNextBoolean()){
            // print what is scanned
            System.out.println("Found: " + scanner.nextBoolean());		 
         } else {
            System.out.println("Not Found: " + scanner.next());
         }
      }

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

假设我们在你的 CLASSPATH 中有一个名为 properties.txt 的文件,其内容如下。此文件将用作我们示例程序的输入:

Hello World! true + false

输出

让我们编译并运行上述程序,这将产生以下结果:

Not Found: Hello
Not Found: World!
Found: true
Not Found: +
Found: false
java_util_scanner.htm
广告