题解 | #简单错误记录#

简单错误记录

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

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Scanner;

//
public class Main {
	// 输出最后出现的八条错误记录。对相同的错误记录只记录一条 循环记录时,只以第一次出现的顺序为准,后面重复的不会更新它的出现时间,仍以第一次为准
	// hashSet,数组 错误记录数量满足1≤n≤100 ,每条记录长度满足 1≤len≤100
	public static void main(String[] args) {
		HashMap<String, Integer> hashMap = new LinkedHashMap<String, Integer>();// 作判断及存储使用 全字符串尾16+" "+行号,次数且有序输出
		Scanner in = new Scanner(System.in);
		while (in.hasNextLine()) {
			String str = in.nextLine();
			String[] strs = str.split(" ");// 最后一个索引的空格前进行拼接
			String str0 = strs[0].substring(strs[0].lastIndexOf("\\") + 1);
			String str1 = strs[1];
			str0 = str0.substring(Math.max(str0.length() - 16, 0)) + " " + str1;// 尾16+" "+行号
			if (!hashMap.containsKey(str0)) {
				hashMap.put(str0, 1);
			} else {
				hashMap.put(str0, hashMap.get(str0) + 1);
			}
		}
		// 有序输出---起始处,跳过开始
		int count = 0;
		for (Map.Entry<String, Integer> it : hashMap.entrySet()) {
			if (hashMap.size() - count > 8) {
				count++;
				continue;
			}
			System.out.println(it.getKey() + " " + it.getValue());
		}

	}

}

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务