【发布时间】:2020-02-27 08:34:43
【问题描述】:
我编写了一个程序来计算用户输入的行数和单词数。
问题:我需要程序计算行数,即使它们是空的,而下面的代码不计算空行。
我尝试过使用 isEmpty() 方法,但它不起作用,我看到了一个名为 isBlank() 的方法,但要使用它,您需要下载一个库.还有其他方法可以计算空行吗?
import java.util.*;
import java.util.ArrayList;
public class Counter2{
public static void main(String[]args){
List<String> arrayList = new ArrayList<String>();
int words = 0;
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
String line = scan.nextLine();
arrayList.add(line);
words += line.split(" ").length;
}
System.out.println("lines: " + arrayList.size());
System.out.println("words: " + words);
scan.close();
}
}
【问题讨论】:
-
“它不起作用”不是很有帮助,你有什么更确切的问题?
-
那么,这个循环会停止读取输入吗?
-
@Kris 我将在 linux 终端中使用这个程序,它是一个评估,我们允许使用 control + d 停止读取输入,所以没有问题。
-
@JoakimDanielson 问题是,当我的输入是空行时,程序不计算它,我需要程序计算所有行,即使它们是空的。
-
你确定按ctrl+d没问题,循环后的最后几行什么时候执行?