题解 | #配置文件恢复#
配置文件恢复
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);
}
}
}

