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