条件判断,主要是第一个字母的匹配加contains双重限制


import java.util.Scanner;

public class Main{

	public static void main(String[] args) {		Scanner sc = new Scanner(System.in);

		String[] c = new String[6];

		c[0] = "reset";

		c[1] = "reset board";

		c[2] = "board add";

		c[3] = "board delete";

		c[4] = "reboot backplane";

		c[5] = "backplane abort";

		

		String[] a = new String[7];

		a[0] = "reset what";

		a[1] = "board fault";

		a[2] = "where to add";

		a[3] = "no board at all";

		a[4] = "impossible";

		a[5]= "install first";

		a[6] = "unknown command";

	

		while(sc.hasNext()){

			String str = sc.nextLine();

			if(!str.contains(" ")){

				if(c[0].contains(str) && c[0].charAt(0) == str.charAt(0)){

					System.out.println(a[0]);

				}

				else{

					System.out.println(a[6]);

				}

			}

			else{

				String[] arr = str.split(" ");

				if(arr.length!=2){

					System.out.println(a[6]);

				}

				else{

					int count = 0;

					int num = 0;

					for(int i=1;i<6;i++){

						String[] sarr = c[i].split(" ");

						if(sarr[0].contains(arr[0]) && sarr[0].charAt(0) == arr[0].charAt(0) && sarr[1].contains(arr[1]) && sarr[1].charAt(0) == arr[1].charAt(0)){

							count++;

							num = i;

						}

					}

					if(count == 1){

						System.out.println(a[num]);

					}

					else{

						System.out.println(a[6]);

					}

				}

			}

			

		}

	}

}