gpt4 book ai didi

java - BufferReader 读取空行

转载 作者:行者123 更新时间:2023-11-30 10:57:30 24 4
gpt4 key购买 nike

我正在从输入(IDE eclipse Luna)输入行,按下回车键,光标一直向下移动,但没有输出显示。在尝试的第二种方法中,但我必须按两次 enter 才能打印输出,我该如何修复这两个错误。为什么在第二种方法中,一旦它检测到空行,它就不会打印出来为什么我必须按两次回车键以及当我们在控制台中按回车键时会执行什么命令

第一种方法

private static String para = null;
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(System.in));
String line;
while ((line = bufferedReader.readLine()) != null) {
para = para + line;
}
bufferedReader.close();
System.out.println(para);
}

第二种方法

String line;
while (!(line = br.readLine()).equals("")) {
s1 = line.split(" ");
for (int j = 1; j < s1.length; j++) {
int m = Integer.parseInt(s1[j]);
edges[Integer.parseInt(s1[0]) - 1].add(vertices[m - 1]);
}

}

最佳答案

当您按下 entre 键时,bufferedReader 对象接收到一个空字符串,因此它不是 null。

结束输入应该寻找这样的键:

private static String para = null;

public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(System.in));
String line;
while (!"end".equals((line = bufferedReader.readLine()))) {
para = para + line;
}
bufferedReader.close();
System.out.println(para);
}

这里我选择“结束”作为结束序列,但您可以选择任何内容,例如空字符串,这是在空行上按回车键的结果。

关于java - BufferReader 读取空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32606181/

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