我有一個程序,用戶可以輸入一個句子,它可以將每個單詞分成一個數組。另外,我需要計算每個單詞的頻率。例如,蘋果是蘋果是手機,結果是Apple-1;是-2;一個-1; A-1;電話-1。如何統計陣列中每個單詞的頻率?
請幫我解決這個問題,我不知道如何計算每個單詞的頻率。
這裏是我的代碼:
public static void main(String[] args)
{
while (true)
{
System.out.println("Enter a sentence:");
Scanner keyboard = new Scanner(System.in);
String sentence = keyboard.nextLine();
if (sentence.isEmpty()) // quit the program when user enter an empty string
{
break;
}
else
{
StringTokenizer st = new StringTokenizer(sentence);
List<String> sentenceElement = new ArrayList<String>();
while (st.hasMoreTokens())
{
sentenceElement.add(st.nextToken());
}
System.out.println(sentenceElement);
}
}
太感謝你了!
你爲什麼要使用一個無限循環? –
當用戶輸入一個空字符串時,退出該程序。 – Wei
此問題源於[here](http://stackoverflow.com/questions/33200704/use-stringtokenizer-to-count-frequency-of-each-word/33200757#comment54206290_33200757)。在那個問題中,有一個實現'HashMap'的答案。你嘗試過嗎? – sam