问题描述
//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
Hello I am beginner at Java and My while loop should give an output like
aaasd1
aaasd2
aaasd3
aaasd4
aaasd5
aaasd6
But it gives
aaasd2
aaasd4
aaasd6
当我将println更改为 System.out.println(x);
时,它会提供应有的输出.有谁知道这是什么问题.感谢您的帮助
When i change the println to System.out.println(x);
it gives output like it should do. Do anyone know what is the problem. Thanks for help
推荐答案
每次调用 inputStream.readLine()
时,您都会读取一行并将文件指针前进到下一行,因为您这样做它两次,一次在 while循环
标头中,一次在打印时,则仅打印第二行.改为打印x
Every time you call inputStream.readLine()
you read one line and advance the file pointer to the next line and since you do it twice, once in the while loop
header and once when printing then only every second line is printed. Print x instead
String x;
while ((x = inputStream.readLine()) != null) {
System.out.println(x);
}
inputStream.close();
这篇关于为什么我的Java while循环迭代一半的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!