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 类。
版权声明:本文标题:scanner java 用法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1702956042a437318.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论