我自己写的:但是不知道什么问题 拿不到 满分 总是 测试错误 ,请看到的大神 指点下
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