我制作了一个简单的程序,我想从文件中打印所有奇数行。
public static void main(String[] args) throws FileNotFoundException{
File file = new File("text.txt");
Scanner fileRead = new Scanner(file);
int lineCount = 0;
int i = 0;
while(fileRead.hasNextLine()){
lineCount++;
i = lineCount % 2;
System.out.println("Line count -- >> " + lineCount);
if(i == 1){
System.out.println(fileRead.nextLine());
}
}
fileRead.close();
}
}
所以当我运行它时,输出是
行数 - >> 1
奇
行数 - >> 2
行数 - >> 3
甚至
行数 - >> 4
行数 - >> 5
奇数
等...... 为什么我让lineCount增加两次?提前谢谢
答案 0 :(得分:1)
public static void main(final String[] args)
throws FileNotFoundException
{
final File file = new File("C:\\textstr.txt");
final Scanner fileRead = new Scanner(file);
int lineCount = 0;
int i = 0;
while (fileRead.hasNextLine())
{
lineCount++;
i = lineCount % 2;
final String str = fileRead.nextLine();
if (i == 1)
{
System.out.println("Line count -- >> " + lineCount);
System.out.println(str);
}
}
fileRead.close();
}
答案 1 :(得分:0)
打印linecount超出了您的条件,检查数字是否为奇数,因此您将为每个奇数行获得两次输出。你也不会得到每一个奇数行,因为当linecount是奇数时你只是读到下一行
你想要的东西是:
String line = fileRead.nextLine();
if(i == 1){
System.out.println(line);
}
答案 2 :(得分:0)
将println语句写入if条件。