题解 | #配置文件恢复#

配置文件恢复

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

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String keys[] = new String[]{"reset","reset board","board add","board delete",
                                      "reboot backplane","backplane abort"};
        String values[] = new String[]{"reset what","board fault","where to add","no board at all",
                                  "impossible","install first","unknown command"};
        while(in.hasNext()){
            String str = in.nextLine();
            String ss[] = str.split(" ");
            if(ss.length == 1){                      // 输入只有1个单词
                if(keys[0].startsWith(ss[0])){
                    System.out.println(values[0]);
                }else{
                    System.out.println(values[6]);
                }
            }else if(ss.length == 2){                 // 输入有2个单词
                int k = 0;              // 标记匹配次数
                String t = "";          // 标记匹配命令
                for(int i=1;i<6;i++){
				    //把原有的命令也分解,然后和当前的命令进行前缀匹配
                    String[] splitKey=keys[i].split(" ");
                    if(splitKey[0].startsWith(ss[0])&&splitKey[1].startsWith(ss[1])){
                        k++;
                        t=values[i];
                    }
                }
                if(k == 1){             // 只匹配一次,输出对应的命令
                    System.out.println(t);
                }else{                  // 没有匹配或多次匹配,则匹配失败
                    System.out.println(values[6]);
                }
            }
        }
    }
}

就是单纯抠细节

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务