前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java中Scanner详细用法

Java中Scanner详细用法

作者头像
王也518
发布2024-04-17 08:08:50
570
发布2024-04-17 08:08:50
举报
文章被收录于专栏:吴第广吴第广

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

今天我们来简单聊聊Java中的Scanner类。

Scanner是Java中用于解析文本并获取不同类型的输入(如整数、浮点数、字符串等)的一个实用工具。Scanner类位于java.util包中,它提供了多种方法来读取控制台输入。

以下是Scanner类的详细用法:

创建Scanner对象

要使用Scanner,首先需要创建一个Scanner对象,它会包装一个输入流,通常是System.in(标准输入流)。

代码语言:javascript
复制
Scanner scanner = new Scanner(System.in);

读取不同类型的输入

读取字符串

代码语言:javascript
复制
String inputString = scanner.nextLine();

读取整数

代码语言:javascript
复制
int inputInt = scanner.nextInt();

读取浮点数

代码语言:javascript
复制
double inputDouble = scanner.nextDouble();

读取布尔值

代码语言:javascript
复制
boolean inputBoolean = scanner.nextBoolean();

读取多个类型的输入(需要按照顺序调用相应的读取方法):

代码语言:javascript
复制
String name = scanner.next();
int age = scanner.nextInt();
scanner.nextLine(); // 读取换行符,因为nextInt()之后会留下一个换行符在输入流中

使用分隔符

默认情况下,Scanner使用空格作为分隔符。如果你想使用其他字符作为分隔符,可以使用useDelimiter方法。

代码语言:javascript
复制
scanner.useDelimiter(","); // 现在使用逗号作为分隔符

查找和匹配输入

查找特定字符串

代码语言:javascript
复制
if (scanner.findWithinHorizon("example", 0)) {
    System.out.println("Found 'example'");
}

匹配特定模式

代码语言:javascript
复制
if (scanner.hasNext("example\\d+")) {
    String matched = scanner.next();
    System.out.println("Found matched string: " + matched);
}

处理异常

在使用Scanner时,可能会遇到InputMismatchExceptionNoSuchElementException异常。为了处理这些异常,可以使用try-catch块。

代码语言:javascript
复制
try {
    int inputInt = scanner.nextInt();
} catch (InputMismatchException e) {
    System.out.println("Please enter a valid integer.");
}

关闭Scanner

当不再需要Scanner对象时,应该关闭它以释放资源。Scanner实现了AutoCloseable接口,因此可以使用try-with-resources语句自动关闭。

代码语言:javascript
复制
try (Scanner scanner = new Scanner(System.in)) {
    // 使用scanner
} // scanner在这里自动关闭

其他有用的方法

  • hasNext():检查输入流中是否有下一个元素。
  • hasNextLine():检查输入流中是否有下一行。
  • skip():跳过分隔符。
  • reset():重置Scanner,忽略之前的所有输入。

Scanner类是处理用户输入的强大工具,它的灵活性和易用性使得它成为读取和解析控制台输入的首选方式。在使用Scanner时,要注意异常处理和资源管理,以确保程序的健壮性和效率。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档