对于简单的字符串操作,这个程序是可以做到:
package abc;
import java.io.*;
public class highocc
{
public static void main(String args[])throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter any word : ");
String str=in.readLine();
str=str.toLowerCase();
int g=0,count;
int ar[]=new int[26];
char ch[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
for(int i=0;i<ch.length;i++)
{
count=0;
for(int j=0;j<str.length();j++)
{
char ch1=str.charAt(j);
if(ch[i]==ch1)
count++;
}
ar[i]=(int) count;
}
int max=ar[0];
for(int j=1;j<26;j++)
{
if(max<ar[j])
{
max=ar[j];
g=j;
}
else
{
max=ar[0];
g=0;
}
}
System.out.println("Maximum Occurence is "+max+" of character "+ch[g]);
}
}
'“什么想法?”' - 其一,缩进和格式化你的代码更好,所以,它的可读性。对于另一种情况,请考虑使用26个项目的数组,每个字母一个,并在关联的插槽中设置最大连续计数。另一个选择是使用'HashMap'。 –
想法:首先找出所有重复的人物序列,然后寻找你找到的最大的人物。 –
你会把大小写成同一个字母吗? – KeepCalmAndCarryOn