我想将行序列计为段落,即它应该计算它们之间没有空格的行作为1行,例如(段落)。到目前为止,我的代码计算每一行而不知道行的顺序应该算作1.请问如何解决这个问题?
Scanner file = new Scanner(new FileInputStream("/../printout.txt"));
int count = 0;
while (file.hasNextLine()){
file.nextLine();
count++;
}
System.out.println(count);
file.close();
答案 0 :(得分:3)
您可以设置一个小型状态机,假设从空行到非空行表示您在新段落中显示:
boolean lastWasText = false;
int paragraphCount = 0;
while (file.hasNextLine()) {
boolean thisIsText = file.nextLine().length() > 0;
if (!lastWasText && thisIsText) paragraphCount++;
count++;
lastWasText = thisIsText;
}
如果您不想要计算所有空格的行数,请在trim()
之后和nextLine()
之前添加length()
。
答案 1 :(得分:0)
要保留您的代码,它应该是
Scanner file = new Scanner(new FileInputStream("/../printout.txt"));
int count = 0;
while (file.hasNextLine()){
String line = file.nextLine();
if (line.trim().length() > 0) {
count++;
}
}
System.out.println(count);
file.close();