//some code here
String x;
while ((x = inputStream.readLine()) != null) {
System.out.println(inputStream.readLine());
}
inputStream.close();
}
你好,我是Java的初学者,我的while循环应提供类似
的输出
aaasd1
aaasd2
aaasd3
aaasd4
aaasd5
aaasd6
但这给了
aaasd2
aaasd4
aaasd6
当我将println更改为System.out.println(x);
时,它会提供应有的输出。有谁知道这是什么问题。感谢您的帮助
答案 0 :(得分:0)
在您的第一个示例中,您两次调用readLine()
,但仅每秒打印一次值。也就是说,不会打印在x
表达式中分配给while
的值。使用System.out.println(x);
时,将打印每个值。
答案 1 :(得分:0)
这段代码:
x = inputStream.readLine()
读取下一行并将其存储在x
中。但是,您再也不会使用x
。相反,您可以这样做:
System.out.println(inputStream.readLine());
这将读取存储在x
中的下一行 之后的下一行并将其打印出来。替换为:
System.out.println(x);
这将打印出您刚刚在循环条件下读取的行。
答案 2 :(得分:0)
每次调用inputStream.readLine()
时,您都会读取一行并将文件指针前进到下一行,并且由于执行了两次,因此在while loop
标头中一次,在打印时一次,然后每隔一行打印。改为打印x
String x;
while ((x = inputStream.readLine()) != null) {
System.out.println(x);
}
inputStream.close();