如何使用bufferedreader和treeset来显示文本中不同单词的数量?

问题描述 投票:0回答:1

我试过这样的方法,但我认为它也会计算空行。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Set;
import java.util.TreeSet;
import java.io.*;
public class Main {
   public static void main(String[] args)throws IOException {
      String line;
    String[] words = new String[100];
    Set<String> s = new TreeSet<String>();
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    while ((line = br.readLine()) != null) {
        words = line.split("\\s+");
        for (int i = 0; i < words.length; ++i) {
            s.add(words[i]);
        }
    }
    System.out.println(s.size());
}

}

java arrays string oop treeset
1个回答
0
投票

你可以做这样的事情。

line = line.trim();
if(!line.isEmpty())
{
  words = line.split("\\s+");
  ...
}

这将处理空行或 "空白 "行(只包含空格的行)。它也会处理以一个或多个空格开始的非空行,因为这些也会导致空字符串。

© www.soinside.com 2019 - 2024. All rights reserved.