题解 | #配置文件恢复#
配置文件恢复
http://www.nowcoder.com/practice/ca6ac6ef9538419abf6f883f7d6f6ee5
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
Map<String,String> map = new HashMap<String,String>();
map.put("reset","reset what");
map.put("reset board","board fault");
map.put("board add","where to add");
map.put("board delete","no board at all");
map.put("reboot backplane","impossible");
map.put("backplane abort","install first");
while(in.hasNext()){
String input_str = in.nextLine();
if(input_str.contains(" "))
{
//两条输入匹配
String[] a = input_str.split(" ");
ArrayList<String> list = new ArrayList<String>();
if(a.length!=2){
System.out.println("unknown command");
}else{
for(Map.Entry entry:map.entrySet()){
String str = entry.getKey().toString();
if(str.contains(" ")){
String[] b = str.split(" ");
if(a[0].length()<=b[0].length()&&a[1].length()<=b[1].length()){
if(b[0].contains(a[0])&&b[0].indexOf(a[0])==0&&b[1].contains(a[1])&&b[1].indexOf(a[1])==0)
list.add(str);
}
}
}
if(list.size()==1)
{
System.out.println(map.get(list.get(0)));
}else{
System.out.println("unknown command");
}
}
}else{
//一个输出匹配
String str1 = "reset";
int i ;
if(input_str.length()<=str1.length()){
if(str1.contains(input_str)&&str1.indexOf(input_str)==0)
System.out.println(map.get(str1));
else{
System.out.println("unknown command");
}
}
else{
System.out.println("unknown command");
}
}
}
}
}
