【发布时间】:2015-11-23 04:34:34
【问题描述】:
我想写一些接收字符串的方法,并以小版本返回最常见的字母。(只有字母) 例如 - “aabbbAA”将返回一个。 "766&%- aabbB" 将返回 b。
我试着把它写下来,但我不知道如何区分大写字母和小写字母。 以及如何识别数字和字母。
JAVA
谢谢 ;)
【问题讨论】:
-
你使用什么程序语言?
-
Java,抱歉。
我想写一些接收字符串的方法,并以小版本返回最常见的字母。(只有字母) 例如 - “aabbbAA”将返回一个。 "766&%- aabbB" 将返回 b。
我试着把它写下来,但我不知道如何区分大写字母和小写字母。 以及如何识别数字和字母。
JAVA
谢谢 ;)
【问题讨论】:
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 ) );
【讨论】: