因为输入的命名很少,可以直观看到影响唯一性的两个命令,所以直接判断
如果命令较多,可以循环判断,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";
}
}