题解 | #配置文件恢复#
配置文件恢复
https://www.nowcoder.com/practice/ca6ac6ef9538419abf6f883f7d6f6ee5
import java.util.*; public class Main { static final String UNKNOWN_COMMAND = "unknown command"; static final Map<String, String> DICT = 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); while (in.hasNextLine()) { String command = in.nextLine(); int index = command.indexOf(' '); // 一字串 if (index == -1) { int count = 0; String v = null; for (Map.Entry<String, String> entry : DICT.entrySet()) { String k = entry.getKey(); // 一字串只匹配一关键字命令 if (k.indexOf(' ') == -1 && k.indexOf(command) == 0) { count++; v = entry.getValue(); } if (count > 1) { break; } } if (count == 1) { System.out.println(v); } else { System.out.println(UNKNOWN_COMMAND); } // 两字串 } else { int count = 0; String v = null; String c1 = command.substring(0, index); String c2 = command.substring(index + 1); for (Map.Entry<String, String> entry : DICT.entrySet()) { String k = entry.getKey(); int ki = k.indexOf(' '); if (ki != -1) { String k1 = k.substring(0, ki); String k2 = k.substring(ki + 1); if (k1.indexOf(c1) == 0 && k2.indexOf(c2) == 0) { count++; v = entry.getValue(); } if (count > 1) { break; } } } if (count == 1) { System.out.println(v); } else { System.out.println(UNKNOWN_COMMAND); } } } } }
#华为笔试#