题解 | #简单错误记录#
简单错误记录
https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 int [] count = new int[8]; int [] hangshuArr = new int[8]; String [] wenjianArr = new String[8]; int xuhuang = 0; boolean foundDuplicate = false; String qidiao = ","; int qidiaoCount = 0; while (in.hasNext()) { // 注意 while 处理多个 case String a = in.nextLine(); String [] arr = a.split(" "); int hangshu = Integer.valueOf(arr[1]); String wenjian = arr[0].substring(arr[0].lastIndexOf("\\") + 1); int len = wenjian.length(); if(len > 16){ wenjian = wenjian.substring(len - 16); } //处理重复文件名和行数的记录 for(int i = 0; i < 8; i ++){ if(wenjian.equals(wenjianArr[i]) && hangshuArr[i] == hangshu){ count[i] ++; foundDuplicate = true; break; } } if(foundDuplicate){ foundDuplicate = false; continue; } String cs = "," + wenjian + hangshu + ","; if(qidiao.indexOf(cs) == -1){ if(wenjianArr[xuhuang % 8] != null){ qidiao += wenjianArr[xuhuang % 8] + hangshuArr[xuhuang % 8] + ","; qidiaoCount ++; } count [xuhuang % 8] = 1; wenjianArr[xuhuang % 8] = wenjian; hangshuArr[xuhuang % 8] = hangshu; xuhuang ++; } } if(xuhuang > 7){ xuhuang = 8; } for(int i = qidiaoCount,cishu = 0; cishu < xuhuang; i ++){ cishu ++; System.out.println(wenjianArr[i%8] + " " + hangshuArr[i%8] + " " + count[i%8]); } } }
看代码