因为输入的命名很少,可以直观看到影响唯一性的两个命令,所以直接判断

如果命令较多,可以循环判断,count++;如果count>1,表示非唯一,输出无效命令

import java.util.*;


public class Main {
    public static void main(String[] args) {
        //接受输入命令
        Scanner scan = new Scanner(System.in);
        while (scan.hasNextLine()) {
            System.out.println(result(scan.nextLine()));
        }
    }

    //执行命令
    public static String result(String command) {
        String[] commands = command.split(" ");
        if (commands.length == 1 && "reset".startsWith(commands[0])) {
            return "reset what";
        } else if (commands.length == 1 ) {
            return "unknown command";
        }

        if (commands.length == 2) {
            boolean flag2 = "reset".startsWith(commands[0]) &&
                            "board".startsWith(commands[1]);
            boolean flag3 = "board".startsWith(commands[0]) &&
                            "add".startsWith(commands[1]);
            boolean flag4 = "board".startsWith(commands[0]) &&
                            "delete".startsWith(commands[1]);
            boolean flag5 = "reboot".startsWith(commands[0]) &&
                            "backplane".startsWith(commands[1]);
            boolean flag6 = "backplane".startsWith(commands[0]) &&
                            "abort".startsWith(commands[1]);


            if (flag2 && !flag5) return "board fault";
            if (!flag2 && flag5) return "impossible";
            if (flag3 && !flag6)  return "where to add";
            if (!flag3 && flag6)  return "install first";
            if (flag4) return "no board at all";
            return "unknown command";
        }

        return "-1";
    }
}