写完才发现原来可以用s1.startsWith(s2),亏我还写了一大堆这玩意a[1].equals("backplane".substring(0, a[1].length()))
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
String s = sc.nextLine().trim();
String res = execCommand(s);
System.out.println(res);
}
}
public static String execCommand(String s) {
String[] a = s.split(" ");
if (a.length == 0 || a.length > 2) {
return "unknown command";
}
if (a.length == 1) {
if (a[0].length() < 6 &&
a[0].equals("reset".substring(0, a[0].length()))) {
return "reset what";
} else {
return "unknown command";
}
}
if (a.length == 2) {
if (a[0].charAt(0) == 'r') {
if (a[0].length() <= 2 && a[1].length() == 1) {
return "unknown command";
}
if (a[0].length() < 6 && a[1].length() < 6 &&
a[0].equals("reset".substring(0, a[0].length())) &&
a[1].equals("board".substring(0, a[1].length()))) {
return "board fault";
} else if (a[0].length() < 7 && a[1].length() < 10 &&
a[0].equals("reboot".substring(0, a[0].length())) &&
a[1].equals("backplane".substring(0, a[1].length()))) {
return "impossible";
} else {
return "unknown command";
}
} else if (a[0].charAt(0) == 'b') {
if (a[0].equals("b") && a[1].equals("a")) {
return "unknown command";
}
if (a[0].length() < 6 && a[1].length() < 4 &&
a[0].equals("board".substring(0, a[0].length())) &&
a[1].equals("add".substring(0, a[1].length()))) {
return "where to add";
}
if (a[0].length() < 6 && a[1].length() < 7 &&
a[0].equals("board".substring(0, a[0].length())) &&
a[1].equals("delete".substring(0, a[1].length()))) {
return "no board at all";
}
if (a[0].length() < 10 && a[1].length() < 6 &&
a[0].equals("backplane".substring(0, a[0].length())) &&
a[1].equals("abort".substring(0, a[1].length()))) {
return "install first";
}
return "unknown command";
} else {
return "unknown command";
}
}
return "unknown command";
}
}

京公网安备 11010502036488号