我正在尝试编写一个程序来计算句子中的单词数。我使用split
方法和String参数" "
。当我输入一个字符串Hello World
时,我得到一个输出:No. of words Are 1
,而它应该是2
。我错过了什么 ?请帮忙。
import java.util.Scanner;
public class Duplicate {
String Sentence;
String Store[];
public String getString(){
System.out.println("Enter A String");
Scanner S = new Scanner(System.in);
Sentence = S.nextLine();
return Sentence;
}
public void count(){
Store = Sentence.split(" ");
System.out.println("No. Of words are " +Store.length);
}
}
主要类
public class Main {
public static void main(String args[]) {
Duplicate D = new Duplicate();
D.getString();
D.count();
}
}
输出
Enter A String
Hello World
No. Of words are 1
答案 0 :(得分:2)
在此行中,您应该按一个 空格进行拆分:
<强> Store = Sentence.split(" ");
强>
您正在按两个 空格进行拆分。
看看这个以找到重复项:
List<String> list = Arrays.asList(text.split(" "));
Set<String> uniqueWords = new HashSet<String>(list);
for (String word : uniqueWords) {
System.out.println(word + ": " + Collections.frequency(list, word));
}