您的位置:首页 > 其它

求字符串中出现最多次数的字母

2014-06-09 09:24 169 查看
//求字符串中出现最多次数的字母,如果有多个,则都求出。BY MYSELF 已测试
import java.util.*;
public class FindValueOfMaxTimes{
public static void main(String args[]){
String input = "asdddgghhh";
doString(input);
}
public static void doString(String input){
char[] chars = input.toCharArray();
TreeSet set = new TreeSet();
for(int i=0; i<chars.length; i++){
set.add(String.valueOf(chars[i]));//String.valueOf
}
Arrays.sort(chars);
input = new String(chars);
int max = 0 ;
String maxString="";
ArrayList maxlist = new ArrayList();
Iterator it = set.iterator();
while(it.hasNext()){
String os = (String)it.next();//String。返回Object,需要强制转换
int i = input.indexOf(os);
int j = input.lastIndexOf(os);
int times = j-i+1;
if(times>max){
max=times;
maxString=os;
maxlist.add(os);
}else if(times==max){
maxlist.add(os);
}
}
int index=0;
for(int i=0; i<maxlist.size(); i++){
if(maxlist.get(i).equals(maxString)){//list可以get(i),set不行?必须用equals比较,不能用==
index=i;
break;
}
}
for(int i=index; i<maxlist.size(); i++){
System.out.println(maxlist.get(i)+" ");
}
System.out.println(max);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐