题解 | #配置文件恢复#

配置文件恢复

https://www.nowcoder.com/practice/ca6ac6ef9538419abf6f883f7d6f6ee5

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {

    static Map<String, String> map = new HashMap<String, String>() {
        {
            put("reset", "reset what");
            put("reset board", "board fault");
            put("board add", "where to add");
            put("board delete", "no board at all");
            put("reboot backplane", "impossible");
            put("backplane abort", "install first");
        }
    };

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String cmd = in.nextLine();
            calculate(cmd);
        }
    }

    private static void calculate(String cmd){
        String[] cmdArr = cmd.split(" ");
        if(cmdArr.length == 1){
            if("reset".contains(cmd)){
                System.out.println(map.get("reset"));
            }
            else{
                System.out.println("unknown command");
            }
        }
        else{
            String result = "unknown command";
            int count = 0;
            for(String key : map.keySet()){
                if(cmd.equals(key)){
                    result = map.get(key);
                    break;
                }
                else{
                    String[] keyArr = key.split(" ");
                    if(
                        keyArr.length > 1 &&
                        keyArr[0].indexOf(cmdArr[0]) == 0 &&
                        keyArr[1].indexOf(cmdArr[1]) == 0
                    ){
                        result = map.get(key);
                        count++;
                    }
                }
            }
            System.out.println(count > 1 ? "unknown command" : result);
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务