题解 | #简单错误记录#
简单错误记录
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]);
}
}
}
看代码
阿里云成长空间 743人发布