题解 | 简单错误记录

简单错误记录

https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb

import java.util.Scanner;

import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        // while (in.hasNextInt()) { // 注意 while 处理多个 case
        //     int a = in.nextInt();
        //     int b = in.nextInt();
        //     System.out.println(a + b);
        // }

        Map<String,Loginfo> tmp = new HashMap<>();

        int total = 0;
        while(in.hasNextLine()){

           String tmpString = in.nextLine();
           String filepath = tmpString.split(" ")[0];
           String line = tmpString.split(" ")[1];
 
           String[] tmpArr = filepath.split("\\\\");
        
           String filename = tmpArr[tmpArr.length-1];
 
           if(filename.length() > 16){
              filename = filename.substring(filename.length()-16);
           }
 
           if(tmp.get(filename+"_"+line) == null){
           
              Loginfo tmpinfo = new Loginfo();
              tmpinfo.filename = filename;
              tmpinfo.line = line;
              tmpinfo.errornum = 1;
              tmpinfo.sortnum = total;
              tmp.put(filename+"_"+line,tmpinfo);
           }else{
              tmp.get(filename+"_"+line).errornum++;
            //   tmp.get(filename+"_"+line).sortnum = total;
           }
          total++;
        }
        
        // Set<String>[] keySet = tmp.keySet();
        List<Loginfo> tmplist = new ArrayList<>();
        tmp.entrySet().stream().sorted((s1,s2)->{return s1.getValue().sortnum.compareTo( s2.getValue().sortnum);})
        .forEach((v)->{  
            tmplist.add(v.getValue());
        });
 
        
        int size = tmplist.size();
        if(size >8){
        int lst8 = size-8;
        tmplist.subList(lst8,size).forEach(item->{ 
          System.out.println(item.filename + " " +item.line + " " +item.errornum);   
        });
        }else{
tmplist.forEach(item->{ 
          System.out.println(item.filename + " " +item.line + " " +item.errornum);   
        });
        }

         

    }
 
}

class Loginfo{
    public String filename;
    public String line;
    public Integer errornum;

    public Integer sortnum;
}

全部评论

相关推荐

03-29 17:05
门头沟学院 Java
asdasdasda...:我前段时间找工作焦虑,有几天连续熬夜熬穿了,然后心脏突然不舒服,立马躺床上睡觉了,然后第二天还是不舒服,去看医生说是心率不齐,吓得我后面天天早早睡觉,调养身体,过了好几天才好过来。所以真的,工作这些东西哪有那么重要,最多钱多一点钱少一点,降低物欲。活着才是最重要的,现在想想真的后怕
如何排解工作中的焦虑
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务