写一个程序,读入一系列由只包含一行的行终止的行。“#通过计算空格数,输出每行的单词数。不要输出包含#的行的结果(提示使用for-counter控制的循环)java
时间: 2024-10-09 18:15:35 浏览: 27
易语言大文本文件随机读取一行内容
你可以使用Java编写一个简单的命令行程序来实现这个功能。下面是一个示例代码片段,它会忽略包含`#`的行,并计算其他行中的单词数:
```java
import java.util.Scanner;
public class WordCounter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line;
int wordCount = 0;
while (scanner.hasNextLine()) { // 读取每一行直到输入结束
line = scanner.nextLine();
if (!line.startsWith("#")) { // 检查是否以 '#' 开始
String[] words = line.split("\\s+"); // 使用正则表达式分割单词,以空格为分隔符
if (words.length > 0) {
wordCount += words.length; // 如果有单词,累加计数
}
}
}
System.out.println("Total word count: " + wordCount); // 输出总单词数
scanner.close();
}
}
```
在这个程序中,我们首先创建一个`Scanner`对象来读取标准输入。然后,使用一个`while`循环遍历每一行。如果行首不是`#`,我们就使用`split()`方法将行分割成单词数组,并检查数组长度(即单词数)。最后,跳出循环并打印出总的单词数。
运行此程序时,可以在命令行窗口逐行输入文本,并按回车键结束输入。含有`#`的行会被忽略。
阅读全文