用JAVA实现找出输入字符串中的出现次数最多的字符及其次数;

Posted 乐乐熊小妹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用JAVA实现找出输入字符串中的出现次数最多的字符及其次数;相关的知识,希望对你有一定的参考价值。

通过Map 类实现,通过键值对的方式,可以将输入的字符串的每一个字符,作为键,每个字符出现的次数作为值:如下:

public class Find {
  public static void main(String[] args){
    String scan=new Scanner(System.in).nextLine();//获取键盘上输入的字符串;
    Map<Character,Integer> map = new HashMap<Character,Integer>();//新建一个HashMap对象;
    

      //通过FOR循环,把String的键值存放到map

    for(int i=0;i<scan.length();i++){
      char temp=scan.charAt(i);//通过循环,找到字符串的每一位字符并存入到temp中;
      if(map.containsKey(temp)){//如果map里面有temp这个字符
        map.put(temp, map.get(temp)+1);//把temp的值加1;
      }else{//如果map里面没有temp这个字符,
        map.put(temp, 1);//把temp的值设为1;
    }
}

/*Collection c = map.entrySet();
Iterator it = c.iterator();
Map.Entry<Character, Integer> entry;
while(it.hasNext()){
entry = (Map.Entry<Character, Integer>) it.next();
}
*/
    int maxnum = Collections.max(map.values());//调用Collections类的max方法,获取map的值的集合;并找出最大的那个值;
    Set<Character> set = new HashSet<Character>();//建立一个set对象
    for(Map.Entry<Character, Integer> entry1:map.entrySet()){ //通过集合的循环,把map的值放到entry1里,通过entry1找到值最大的maxnum的key;
        if(entry1.getValue()==maxnum){
           set.add(entry1.getKey());
        }
}

System.out.println("出现次数最多的字母为:"+set+" 最多出现次数为"+maxnum);

}

}

































以上是关于用JAVA实现找出输入字符串中的出现次数最多的字符及其次数;的主要内容,如果未能解决你的问题,请参考以下文章

有一万条字符串,要找出前10条出现次数最多的,该如何解决

Java,输入一字符串,统计连续出现最多的字符,以及出现次数。 【编程】

输入n个字符串,用空格隔开。这些字符串中有重复出现的。现在统计每个字符串出现的次数,并找出出现次数最多的字符串。

找出字符串中出现次数最多的字符和次数

如何获取数组中出现次数最多的字符串?

查找输入字符串中出现字符次数最多的那个字和重复次数