【華為OJ】【069-簡單錯誤記錄】

來源:互聯網
上載者:User

標籤:

【華為OJ】【演算法總篇章】【華為OJ】【069-簡單錯誤記錄】【工程下載】題目描述
開發一個簡單錯誤記錄功能小模組,能夠記錄出錯的代碼所在的檔案名稱和行號。處理:    1、 記錄最多8條錯誤記錄,迴圈記錄,對相同的錯誤記錄(淨檔案名稱和行號完全符合)只記錄一條,錯誤計數增加;    2、 超過16個字元的檔案名稱,只記錄檔案的最後有效16個字元;    3、 輸入的檔案可能帶路徑,記錄檔案名稱不能帶路徑。
輸入描述
一行或多行字串。每行包括帶路徑檔案名稱,行號,以空格隔開。
輸出描述
將所有的記錄統計並將結果輸出,格式:檔案名稱 程式碼數 數目,一個空格隔開,如:
輸入例子
E:\V1R2\product\fpgadrive.c   1325
輸出例子
fpgadrive.c 1325 1
演算法實現
import java.util.ArrayList;import java.util.Scanner;/** * Author: 王俊超 * Time: 2016-04-24 13:28 * CSDN: http://blog.csdn.net/derrantcm * Github: https://github.com/Wang-Jun-Chao * Declaration: All Rights Reserved !!! */public class Main {    private static class Error {        private String name;        private int line;        private int count;        @Override        public String toString() {            return name + " " + line + " " + count;        }    }    public static void main(String[] args) {        Scanner input = new Scanner(System.in);        ArrayList<Error> errors = new ArrayList<>();        while (input.hasNext()) {            String name = input.next();            int num = input.nextInt();            Error record = new Error();            name = name.substring(name.lastIndexOf("\\") + 1);            if (name.length() > 16) {                name = name.substring(name.length() - 16);            }            boolean flag = true;            //重複檢驗            for (Error error : errors) {                if (name.equals(error.name) && num == error.line) {                    error.count++;                    flag = false;                }            }            //表示為新Record            if (flag) {                record.name = name;                record.line = num;                record.count = 1;                errors.add(record);            }        }        input.close();        //最多紀錄8條錯誤紀錄        int j = 0;        if (errors.size() > 8){            j = errors.size() - 8;        }        for (; j < errors.size(); j++) {            System.out.println(errors.get(j));        }    }}

【華為OJ】【069-簡單錯誤記錄】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.