
在 java 中处理输入时,可能会出现您不知道要提前读取的行数的情况。这在编码挑战或从文件或流读取直到最后的场景中很常见。在这篇文章中,我将向您展示一种使用 java 处理此问题的简单方法。
想象一下,您收到了未知数量的行作为输入。您的任务是读取所有行,直到文件结尾 (eof) 并打印每一行,并以其行号为前缀。
输入/输出如下所示:
hello world i am a file read me until end-of-file.
1 hello world 2 i am a file 3 read me until end-of-file.
java 通过 scanner 类及其 hasnext() 方法提供了一种方便的方法来处理此类问题。此方法允许我们读取输入,直到没有更多数据可供读取 (eof)。
立即学习“Java免费学习笔记(深入)”;
让我们直接进入代码:
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for (int i = 1; sc.hasNext(); i++) {
String line = sc.nextLine();
System.out.println(i + " " + line);
}
sc.close();
}
}
导入所需的包:我们导入 java.util.scanner 以使用 scanner 类来读取输入。
初始化 scanner:我们创建一个 scanner 对象来从标准输入 (system.in) 读取。
读取直到 eof:for 循环旨在读取行,直到没有更多输入。条件 sc.hasnext() 检查是否有更多输入要读取。如果有,则使用 sc.nextline() 读取下一行。
打印行号:对于读取的每一行,我们都会打印它及其行号。我们使用循环计数器 i,它从 1 开始,并随着每次迭代而递增。
关闭扫描仪:虽然这里不是绝对必要的,但完成后关闭扫描仪是一个很好的做法,以避免资源泄漏。
这种方法简单而有效,可以在 java 中读取未知行数直到 eof。它在竞争性编程、文件读取任务或处理数据流的任何情况下都会派上用场。
以上就是读取输入直到 EOF(文件结束)并轻松地对行进行编号 | Java 编程竞赛的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号