题解 | #配置文件恢复#
配置文件恢复
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]); } } } } }
就是单纯抠细节