华为OJ-------简单错误记录
2017-02-20 19:39
197 查看
描述 | 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。 处理: 1、 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加; 2、 超过16个字符的文件名称,只记录文件的最后有效16个字符; 3、 输入的文件可能带路径,记录文件名称不能带路径。 |
---|---|
知识点 | 字符串 |
运行时间限制 | 0M |
内存限制 | 0 |
输入 | 一行或多行字符串。每行包括带路径文件名称,行号,以空格隔开。 如:E:\V1R2\product\fpgadrive.c 1325 |
输出 | 将所有的记录统计并将结果输出,格式:文件名 代码行数 数目,一个空格隔开,如: fpgadrive.c 1325 1 |
样例输入 | E:\V1R2\product\fpgadrive.c 1325 |
样例输出 | fpgadrive.c 1325 1 |
import java.util.*; class MyObject implements Comparable<MyObject>{//自定义的类,并自定义比较规则 String nameNo; //文件名和错误行号的字符串 int count; //错误统计次数 @Override public int compareTo(MyObject o) { return o.count-this.count; } public MyObject(String nameNo, int count) { super(); this.nameNo = nameNo; this.count = count; } public String getNameNo() { return nameNo; } public void setNameNo(String nameNo) { this.nameNo = nameNo; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } } public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); ArrayList<MyObject> ob=new ArrayList<MyObject>(); while(sc.hasNextLine()){ String line=sc.nextLine(); String nameNo=line.trim().substring(line.trim().lastIndexOf("\\")+1);//文件名和行号 boolean flag=false; for (int j = 0; j <ob.size(); j++) { if(ob.get(j).getNameNo().equals(nameNo)){//存在 MyObject temp=ob.get(j); temp.setCount(temp.getCount()+1); ob.set(j, temp); flag=true; break; } }//end of for if(flag==false){//不存在 MyObject o=new MyObject(nameNo, 1); ob.add(o); } }//数据处理完毕 //sc.close(); Collections.sort(ob);//稳定排序 int coun=0; while(coun<8&&coun<ob.size()){ String[] temp=ob.get(coun).getNameNo().split(" "); String filename=temp[0].substring(temp[0].lastIndexOf("\\")+1); if(filename.length()>16) filename=filename.substring(filename.length()-16); System.out.println(filename+" "+temp[1]+" "+ob.get(coun).getCount()); coun++; } } }
相关文章推荐
- 华为oj 简单错误记录
- 华为OJ(简单错误记录)
- 【华为OJ】简单错误记录【未完成】
- 【华为OJ】简单错误记录
- 华为OJ——简单错误记录
- 华为OJ-简单错误记录模块
- 【华为OJ19】简单错误记录
- 华为oj中级 简单错误记录
- 华为OJ 简单错误记录 (错误,不知道为什么,求大神指教)
- 【华为OJ】【069-简单错误记录】
- 华为机试题2016(一) 简单错误记录
- 华为2016年校园招聘上机笔试题(2)----简单错误记录
- 华为-简单错误记录-Java
- OJ 系列之简单错误记录(转)
- [华为机试练习题]36.简单错误记录
- 华为16年机试(二):简单错误记录
- 华为2016校园招聘:简单错误记录
- 华为2016校园招聘上机笔试题----简单错误记录
- 华为2016校园招聘题----[编程题]简单错误记录(JAVA版)
- 华为机试---简单错误记录