用java实现:输入一串字母的字符串,求出现最多的那个字母,出现了多少次

如题所述

第1个回答  推荐于2016-10-23
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
String s = new Scanner(System.in).next(); //读入输入的字符串
List<String> chars=Arrays.asList(s.split("")); //把字符串分解成一个个字符
HashMap<String,Integer> map=new HashMap<String,Integer> (); //建立一个map key为字符 value为key出现的次数
int max=0;String maxChar=null; //maxChar为出现最多的字符,max为次数
for(String i:chars){
int cs=map.get(i)==null?0:map.get(i); //取出字符所对应的次数
cs++; //次数加1
if(cs>max){ //如果当前次数为最大
maxChar=i;
max=cs;
}
map.put(i, cs); //改变map中的次数
}
System.out.println(map+":"+"\n"+maxChar+":"+max);
}
}本回答被提问者采纳
相似回答