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 input = new Scanner(System.in); // 循环获取输入指令 while (input.hasNextLine()) { // 获取 String cmd = input.nextLine().trim(); // 解析当前指令 calculate(cmd); } } public static void calculate(String cmd) { // 分割指令 String[] cmdArr = cmd.split(" "); // 创建匹配模板 String pattern = ""; // 初始化匹配模板 for (int i = 0; i < cmdArr.length-1; i++) { // 此处不拼接最后一个 pattern = pattern.concat(cmdArr[i] + "[a-z]*\\ +"); // 匹配关键字和空格 } // 补全待拼接的最后一个,此处匹配关键字,不带空格 pattern = pattern.concat(cmdArr[cmdArr.length-1] + "[a-z]*"); // 匹配模板初始化完成 // 定义待输出的结果 String succ = ""; String fail = "unknown command"; // 定义匹配成功的指令个数 int matchNum = 0; // 遍历map中的指令 for (String mapCmd : map.keySet()) { // 正则匹配 if (mapCmd.matches(pattern)) { // 匹配成功 succ = map.get(mapCmd); matchNum++; } } // 遍历结束 // 按统计结果输出答案 String ans = matchNum == 1 ? succ : fail; System.out.println(ans); } }