0

我见过类似的问题,询问如何找到一个空行。我知道如何找到一个空行,但是找到它的纯粹性质会检索它并搞砸你的其余代码。

考虑以下 while 循环:

while(file.hasNextLine()){
    if(file.nextLine.equals("")){
        continue;
    }
    String[] words = file.nextLine().split(" ");
    for(int i = 0; i < words.length; i++){
        System.out.print(words[i]);
    }
}

这里的想法是说,如果有空行,则跳过此迭代并移至仅提取单词的下一行。但只是检查该行是否为空白会检索下一行(是否为空白),然后检索 FOLLOWING 行并将其存储在单词中。

在不实际检索“nextLine”的情况下找到空行的正确方法是什么?

4

1 回答 1

5

调用file.nextLine(),但在检查它是否为空之前将其存储在一个变量中。这样你每次迭代只会调用一次。

while(file.hasNextLine()){
    final String line = file.nextLine();
    if(line.isEmpty()){
        continue;
    }
    String[] words = line.split(" ");
    for(int i = 0; i < words.length; i++){
        System.out.print(words[i]);
    }
}
于 2013-08-06T09:44:06.630 回答