标签:
我自己写的:但是不知道什么问题 拿不到 满分 总是 测试错误 ,请看到的大神 指点下
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Scanner; // 要是能用Scala 就简单多了呀 public class PeiZhiWenJianHuiFu { private static Map<Integer,String> comm = new HashMap<Integer,String>(); private static void init(){ comm.put(1,"reset board&board fault"); comm.put(2,"board add&where to add"); comm.put(3,"board delete&no board at all"); comm.put(4,"reboot backplane&impossible"); comm.put(5,"backplane abort&install first"); } public static void main(String[] args){ // TODO Auto-generated method stub init(); Scanner sc = new Scanner(System.in); List<String> list = new ArrayList<String>(); String s = ""; while(sc.hasNextLine()){ s = sc.nextLine(); if(s.equals("")) break; list.add(s); } for(String li:list){ //System.out.println(li); if(li.contains(" ")){ match_2(li); } else{ match_1(li); } } } private static void match_2(String string){ String [] s = string.split(" "); int count = 0; String res = ""; if(s.length != 2){ System.out.println("unkonw command"); } for(int i=1; i<=comm.size();i++){ //System.out.println(comm.get(i)); String[] tmp = comm.get(i).split("&"); // String[] tmp1 = tmp[0].split(" "); if(s[0].length()>tmp1[0].length() || s[1].length()>tmp1[1].length()){ continue; } if(s[0].equals(tmp1[0].substring(0, s[0].length())) && s[1].equals(tmp1[1].substring(0, s[1].length()))){ count++; res = tmp[1]; } } if(count == 1){ count = 0; System.out.println(res); }else{ count = 0; System.out.println("unkonw command"); } } private static void match_1(String string) { int len=string.length(); if(string.equals("reset".substring(0, len))) System.out.println("reset what"); else System.out.println("unkonw command"); } }
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class test14 { public static void main(String[] arg0){ Scanner sc = new Scanner(System.in); List<String> list = new ArrayList<String>(); String str = ""; while(sc.hasNextLine()){ str = sc.nextLine(); if(str.equals(""))break; list.add(str); } for(int i = 0; i < list.size(); i++){ System.out.println(execute(list.get(i).split(" "))); } } static String[] commands = {"reset","reset board","board add","board delet","reboot backplane","backplane abort"}; static String[] result = {"reset what","board fault","where to add","no board at all","impossible","install first"}; public static String execute(String[] str){ String re = ""; if(str.length == 1){ if(commands[0].startsWith(str[0])) re = result[0]; else{ for(int i = 1; i < commands.length; i++){ if(commands[i].startsWith(str[0])) { re = "unkown command"; break; } } if(re.equals("")) re = "unkown command"; } }else if(str.length == 2){ int hasfit = 0; int index = -1; for(int i = 1; i < commands.length; i++){ String[] comm = commands[i].split(" "); if(comm[0].startsWith(str[0]) && comm[1].startsWith(str[1])){ index = i; hasfit ++; } } if(hasfit == 1) re = result[index]; else re = "unkown command"; }else{ re = "unkown command"; } return re; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/feige1990/article/details/47808155