編寫一個java程序來查找字符串中重復次數最多的單詞,并打印其頻率。
INPUT
你是嗎
OUTPUT
are: 2
這個問題可以通過使用HashMap或文件閱讀器(我想)來解決,但實際上,我還沒有學會它們。
然而,我成功地編寫了一個代碼來顯示頻率(但不是單詞)
import java.util.Scanner;
class duplicatewords
{
void main()
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter the string");
String str=sc.nextLine();
String arr[]=str.split(" ");
int count=1; int checkvalue=0;
for(int i=0;i<arr.length-1;i++)
{
String temp=arr[i];
for(int j=i+1;j<arr.length;j++)
{
String anothertemp=arr[j];
if(temp.equalsIgnoreCase(anothertemp))
count++;
}
if(checkvalue<c)
checkvalue=c;
c=1;
}
System.out.println(checkvalue);
}
}
我想知道如何在不使用任何地圖或閱讀器的情況下打印單詞。
我認為這個項目會非常復雜,但我會理解的。
任何幫助都將不勝感激。
事實上,為了獲得最頻繁的單詞,現有代碼需要稍微修改,以便為重復次數最多的變量提供一個變量,當檢測到更頻繁的單詞時,該變量必須更新。此特定任務不需要額外的陣列/數據結構。
對于輸入:
Output:
更快的實現可能包括將重復值設置為
null
,以便稍后跳過它們: