zoukankan      html  css  js  c++  java
  • 笔试题:输入一个字符串,输出出现次数最多的前2个字符及出现次数

    参考答案: 

    package com.qzcsbj;
    
    import java.util.*;
    
    public class Test {
        public static void main(String[] args) {
            System.out.print("请输入一个字符串:");
            Scanner sc = new Scanner(System.in);
            String str = sc.nextLine();
    
            Map<String, Integer> map = new HashMap<String, Integer>();
    
            for (int i = 0; i < str.length(); i++) {
                String c = str.charAt(i) + "";
                map.put(c, map.containsKey(c) ? map.get(c) + 1 : 1);
            }
    
    
            Set<Map.Entry<String, Integer>> entries = map.entrySet();
            ArrayList<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(entries);
            Collections.sort(list,new Comparator<Map.Entry<String, Integer>>() {  // 匿名内部类
                @Override
                public int compare(Map.Entry<String, Integer> obj1,
                                   Map.Entry<String, Integer> obj2) {
                    if(obj1.getValue() > obj2.getValue()){
                        return -1;
                    }else if(obj1.getValue() < obj2.getValue()){
                        return 1;
                    }
                    return 0;
                }
            });
    
            int len = list.size();
            if(len<2){
                System.out.println("字符串中只出现了" + len + "种字符");
                for(int i=0;i<len;i++){
                    Map.Entry<String, Integer> entry = list.get(i);
                    if (" ".equals(entry.getKey())){
                        System.out.println("空格="+entry.getValue());
                    }else {
                        System.out.println(entry.getKey()+"="+entry.getValue());
                    }
                }
            }
            else {
                System.out.println("出现次数最多的前2:");
                for(int i=0;i<2;i++){
                    Map.Entry<String, Integer> entry = list.get(i);
                    if (" ".equals(entry.getKey())){
                        System.out.println("空格="+entry.getValue());
                    }else {
                        System.out.println(entry.getKey()+"="+entry.getValue());
                    }
                }
            }
    
        }
    }
    

      

  • 相关阅读:
    使用BeanShell 对比取出来的值
    https 请求的端口是443 注意
    Jmeter录制App 请求是HTTPS的
    Charles-断点
    随手记--分配事件概率
    看日志有没有 出现错误的字段 (如 crash ) 查找app闪退
    学习的网站
    xss 攻击 sql 注入
    app的apk 安装的方法--adb--命令安装 (含把apk放某个文件夹,每次启动自己安装)
    把2列相加的方法
  • 原文地址:https://www.cnblogs.com/uncleyong/p/13927120.html
Copyright © 2011-2022 走看看