admin 管理员组

文章数量: 1184232


2023年12月19日发(作者:软件开发入门书籍)

scanner java 用法

Scanner Java 用法

Scanner 是 Java 中的一个类,用于读取用户输入和文件内容。在本文中,我们将详细介绍 Scanner 类的用法。

创建 Scanner 对象

使用 Scanner 类之前,我们需要先创建一个 Scanner 对象。创建 Scanner 对象的语法如下:

Scanner scanner = new Scanner();

上述代码创建了一个与标准输入流()相关联的 Scanner 对象。我们可以使用这个对象来读取用户在控制台上输入的内容。

读取基本数据类型

Scanner 类提供了各种方法来读取不同类型的数据,例如读取整数、浮点数、字符串等。下面是一些常用的读取数据的方法:

• 读取整数:nextInt() 方法用于读取一个整数。

• 读取浮点数:nextDouble() 方法用于读取一个浮点数。

• 读取字符串:next() 方法用于读取一个字符串,它以空格作为分隔符。

以下示例代码展示了如何使用 Scanner 读取不同类型的数据:

Scanner scanner = new Scanner();

("请输入一个整数:");

int num = ();

("你输入的整数是:" + num);

("请输入一个浮点数:");

double decimal = ();

("你输入的浮点数是:" + decimal);

("请输入一个字符串:");

String str = ();

("你输入的字符串是:" + str);

读取文件内容

除了读取用户输入,Scanner 类还可以用于读取文件内容。我们可以通过传递文件对象作为参数来创建与文件相关联的 Scanner 对象。

下面是一个示例,展示了如何使用 Scanner 读取文件内容:

import ;

import ;

import ;

public class FileScannerExample {

public static void main(String[] args) {

try {

File file = new File("");

Scanner scanner = new Scanner(file);

while (()) {

String line = ();

(line);

}

();

} catch (FileNotFoundException e) {

("文件未找到!");

}

}

}

在上述示例中,我们创建了一个名为 “” 的文本文件,并使用

Scanner 逐行读取了文件内容并打印出来。

清空缓冲区

在读取用户输入时,Scanner 类会将输入的数据存储在缓冲区中,直到我们调用特定方法来读取数据。如果用户输入了多余的内容,可以使用 nextLine() 方法来清空缓冲区。

以下是一个示例,展示了如何清空缓冲区:

Scanner scanner = new Scanner();

("请输入一个整数:");

int num = ();

(); //

清空缓冲区

("请输入一个字符串:");

String str = ();

在上述示例中,我们在读取整数后,使用 nextLine() 方法清空了缓冲区,以便能够正确地读取下一行字符串。

结论

通过使用 Scanner 类,我们可以方便地读取用户输入和文件内容。它是 Java 编程中非常有用的一个工具。希望本文能够帮助你了解

Scanner 的基本用法。

设置定界符

Scanner 类允许我们使用自定义的定界符来分割输入内容。默认情况下,Scanner 使用空格作为定界符。我们可以通过调用

useDelimiter() 方法来设置自定义的定界符。

以下示例展示了如何设置自定义的定界符:

Scanner scanner = new Scanner();

("请输入一段文本:");

(","); //

设置逗号为定界符

while (()) {

String word = ();

();

}

();

在上述示例中,我们设置逗号 , 作为定界符。然后,我们使用

hasNext() 方法和 next() 方法来逐个读取通过逗号分隔的文本。

异常处理

在使用 Scanner 类时,我们需要处理可能出现的异常。主要有两种异常需要处理:

• InputMismatchException:表示输入的数据类型与期望的类型不匹配。

• NoSuchElementException:表示没有更多可读取的元素。

在下面的示例中,我们使用 try-catch 块来处理这些异常:

Scanner scanner = new Scanner();

try {

("请输入一个整数:");

int num = ();

();

("请输入一个浮点数:");

double decimal = ();

();

("请输入一个字符串:");

String str = ();

();

} catch (InputMismatchException e) {

("输入的数据类型不正确!");

} catch (NoSuchElementException e) {

("没有更多的可读取元素!");

} finally {

();

}

在上述示例中,我们将每个输入操作放在 try 块中,并在

catch 块中处理可能的异常。无论是否发生异常,finally 块中的 ()

方法都会被执行,以确保关闭 Scanner 对象。

使用正则表达式

Scanner 类还支持使用正则表达式来匹配和读取输入。我们可以使用 hasNext(pattern) 方法来检查输入是否匹配模式,使用

next(pattern) 方法来读取匹配的输入。

以下示例展示了如何使用正则表达式与 Scanner 一起使用:

Scanner scanner = new Scanner();

("请输入一个邮箱地址:");

String email = ("w+@w+.w+");

("你输入的邮箱地址是:" + email);

在上述示例中,我们使用了 w+@w+.w+ 正则表达式来匹配邮箱地址的模式。通过使用 next(pattern) 方法,我们能够仅读取与模式匹配的输入。

总结

Scanner 类提供了许多用法,可以方便地读取用户输入和文件内容。本文介绍了基本的用法,包括创建 Scanner 对象、读取基本数据类型、读取文件内容、清空缓冲区、设置定界符、处理异常和使用正则表达式。希望通过这些信息,你能更好地理解和使用 Scanner 类。


本文标签: 读取 输入 使用 文件 内容