Java 如何使用bufferedreader和treeset显示文本中不同单词的数量?
我尝试了类似的方法,但我认为它也会计算空行数Java 如何使用bufferedreader和treeset显示文本中不同单词的数量?,java,arrays,string,oop,treeset,Java,Arrays,String,Oop,Treeset,我尝试了类似的方法,但我认为它也会计算空行数 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 l
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.io.BufferedReader;
导入java.io.InputStreamReader;
导入java.util.Set;
导入java.util.TreeSet;
导入java.io.*;
公共班机{
公共静态void main(字符串[]args)引发IOException{
弦线;
字符串[]字=新字符串[100];
Set s=新树集();
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
而((line=br.readLine())!=null){
文字=行。拆分(\\s+);
for(int i=0;i
}您可以这样做:
line = line.trim();
if(!line.isEmpty())
{
words = line.split("\\s+");
...
}
这将处理空行或“空白”行(仅包含空格的行)。它还将处理以一个或多个空格开头的非空行,因为它们也可能导致空字符串。好吧,
“”。split(\\s+“”)
是新字符串[]{'}
。你可能需要处理那个特殊的案子。对不起,我怎么处理那个案子?