我想写下一些接收字符串的方法,并以小版本返回最常见的字母。(只有字母) 例如 - " aabbbAA"会回来的。 " 766&% - aabbB"将返回b。
我试着写下来,但我不知道如何识别大写字母和小写字母。 以及如何识别数字和字母。
JAVA
谢谢;)
答案 0 :(得分:0)
int[] counters = new int['z' - 'a' + 1];
for( int i = 0; i < counters.length; i++ ) {
counters[i] = 0;
}
String str = new String("absgsAAAAs");
for( int i = 0; i < str.length(); i++ ) {
if( str.charAt( i ) >= 'a' && str.charAt( i ) <= 'z' ) {
counters[str.charAt( i ) - 'a']++;
} else if( str.charAt( i ) >= 'A' && str.charAt( i ) <= 'Z' ) {
counters[str.charAt( i ) - 'A']++;
}
}
int maxi = 0;
for( int i = 1; i < counters.length; i++ ) {
if( counters[i] > counters[maxi] ) {
maxi = i;
}
}
System.out.println( Character.toChars( 'a' + maxi ) );