hi,我是程序员王也,一个资深Java开发工程师,平时十分热衷于技术副业变现和各种搞钱项目的程序员~,如果你也是,可以一起交流交流。
今天我们来简单聊聊Java中的Scanner类。

Scanner是Java中用于解析文本并获取不同类型的输入(如整数、浮点数、字符串等)的一个实用工具。Scanner类位于java.util包中,它提供了多种方法来读取控制台输入。
以下是Scanner类的详细用法:
-
创建
Scanner对象要使用
Scanner,首先需要创建一个Scanner对象,它会包装一个输入流,通常是System.in(标准输入流)。Scanner scanner = new Scanner(System.in); -
读取不同类型的输入
-
读取字符串:
String inputString = scanner.nextLine(); -
读取整数:
int inputInt = scanner.nextInt(); -
读取浮点数:
double inputDouble = scanner.nextDouble(); -
读取布尔值:
boolean inputBoolean = scanner.nextBoolean(); -
读取多个类型的输入(需要按照顺序调用相应的读取方法):
String name = scanner.next(); int age = scanner.nextInt(); scanner.nextLine(); // 读取换行符,因为nextInt()之后会留下一个换行符在输入流中
-
-
使用分隔符
默认情况下,
Scanner使用空格作为分隔符。如果你想使用其他字符作为分隔符,可以使用useDelimiter方法。scanner.useDelimiter(","); // 现在使用逗号作为分隔符 -
查找和匹配输入
-
查找特定字符串:
if (scanner.findWithinHorizon("example", 0)) { System.out.println("Found 'example'"); } -
匹配特定模式:
if (scanner.hasNext("example\\d+")) { String matched = scanner.next(); System.out.println("Found matched string: " + matched); }
-
-
处理异常
在使用
Scanner时,可能会遇到InputMismatchException或NoSuchElementException异常。为了处理这些异常,可以使用try-catch块。try { int inputInt = scanner.nextInt(); } catch (InputMismatchException e) { System.out.println("Please enter a valid integer."); } -
关闭
Scanner当不再需要
Scanner对象时,应该关闭它以释放资源。Scanner实现了AutoCloseable接口,因此可以使用try-with-resources语句自动关闭。try (Scanner scanner = new Scanner(System.in)) { // 使用scanner } // scanner在这里自动关闭 -
其他有用的方法
hasNext():检查输入流中是否有下一个元素。hasNextLine():检查输入流中是否有下一行。skip():跳过分隔符。reset():重置Scanner,忽略之前的所有输入。
Scanner类是处理用户输入的强大工具,它的灵活性和易用性使得它成为读取和解析控制台输入的首选方式。在使用Scanner时,要注意异常处理和资源管理,以确保程序的健壮性和效率。
本文介绍了Java中的Scanner类,包括其创建、使用方法(如读取不同类型的数据、分隔符处理、查找和匹配)、异常处理以及资源管理。它是处理控制台输入的强大工具。
8496

被折叠的 条评论
为什么被折叠?



