gpt4 book ai didi

java - 如何在 Java 中使用 BufferedReader 读取文件结尾(EOF)?

转载 作者:太空狗 更新时间:2023-10-29 22:51:09 24 4
gpt4 key购买 nike

我在 Java 中读取输入直到 EOF 时遇到问题。在这里,有单个输入,输出考虑每一行的输入。

示例:

输入:

1
2
3
4
5

输出:

0 
1
0
1
0

但是,我使用 Java 编写代码,当我输入两个数字时,将打印单个输出。我想在 Java 中使用 BufferedReader 单输入并在每一行打印单输出(终止 EOF)。

这是我的代码:

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
StringBuffer pr = new StringBuffer("");

String str = "";
while((str=input.readLine())!=null && str.length()!=0) {
BigInteger n = new BigInteger(input.readLine());
}

最佳答案

您正在消耗一行,该行已被丢弃

while((str=input.readLine())!=null && str.length()!=0)

并在

读取一个 bigint
BigInteger n = new BigInteger(input.readLine());

所以尝试从字符串中获取 bigint,它被读取为

BigInteger n = new BigInteger(str);

Constructor used: BigInteger(String val)

同时将 while((str=input.readLine())!=null && str.length()!=0) 更改为

while((str=input.readLine())!=null)

参见相关post string to bigint

readLine()
Returns:
A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached

参见 javadocs

关于java - 如何在 Java 中使用 BufferedReader 读取文件结尾(EOF)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17991470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com