用正则表达式实现。用输入的命令构造正则。

public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    TreeMap<String,String> tm=new TreeMap<String,String>();
    tm.put("reset","reset what");
    tm.put("reset board","board fault");
    tm.put("board add","where to add");
    tm.put("board delete","no board at all");
    tm.put("reboot backplane","impossible");
    tm.put("backplane abort","install first");
    while(sc.hasNext()){
        String cmd=sc.nextLine().trim();
        String[] cmd_split=cmd.split("\\ +");//按空格分割
        String pipei="";
        for(int i=0;i<cmd_split.length-1;i++){
            pipei=pipei.concat(cmd_split[i]+"[a-z]*\\ +");//匹配关键字和空格
        }
        pipei=pipei.concat(cmd_split[cmd_split.length-1]+"[a-z]*");//匹配关键字,不带空格
        String output="unknown command";     
        boolean flag=true;//是否匹配到多个
        for(Map.Entry<String,String> cmdEntry : tm.entrySet()){
            if(cmdEntry.getKey().matches(pipei)){
                if(flag){
                    output=cmdEntry.getValue();
                    flag=false;
                } else {
                    output="unknown command";
                    break;//匹配到多个,跳出循环
                } 
            }
        }

        System.out.println(output);
    }
}