import java.util.Scanner;
public class Main {
1:对每种牌型进行编号
个0 牌数为1
对子1 牌数为2
顺子2 牌数为5
三张 牌数为3
四张 牌数为4
其实编号和牌数的顺序保持一致比较好。
2: 标识矩阵,标识每两种类型的牌是否能进行比较
0,无法进行
1,同种类型可以进行比较
2, a < b
3, a > b
3: 同种类型的牌,只需要比较第一个字符即可,注意joker JOKER单张的情况优先处理一下
public static void main(String[] args) {
int[][] flag = new int[6][6];
flag[0] = new int[] {1, 0, 0, 0, 2, 2};
flag[1] = new int[] {0, 1, 0, 0, 2, 2};
flag[2] = new int[] {0, 0, 1, 0, 2, 2};
flag[3] = new int[] {0, 0, 0, 1, 2, 2};
flag[4] = new int[] {3, 3, 3, 3, 1, 2};
flag[5] = new int[] {3, 3, 3, 3, 3, 3};
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
String item[] = line.split("-");
if (item[0].equals("joker JOKER") || item[1].equals("joker JOKER")) {
System.out.println("joker JOKER");
System.exit(0);
}
int typeA = type(item[0]);
int typeB = type(item[1]);
int compareFlag = flag[typeA][typeB];
if (compareFlag == 0) {
System.out.println("ERROR");
} else if (compareFlag == 1) {
compareFirst(item[0], item[1]);
} else if (compareFlag == 2) {
System.out.println(item[1]);
} else {
System.out.println(item[0]);
}
}
public static void compareFirst(String item1, String item2) {
int num1 = convert(item1);
int num2 = convert(item2);
if (num1 > num2) {
System.out.println(item1);
} else {
System.out.println(item2);
}
}
public static int convert(String item) {
if (item.equals("JOKER")) {
return 10000;
} else if (item.equals("joker")) {
return 100;
}
char ch = item.charAt(0);
if (ch == '3') {
return 3;
} else if (ch == '4') {
return 4;
} else if (ch == '5') {
return 5;
} else if (ch == '6') {
return 6;
} else if (ch == '7') {
return 7;
} else if (ch == '8') {
return 8;
} else if (ch == '9') {
return 9;
} else if (ch == '1') {
return 10;
} else if (ch == 'J') {
return 11;
} else if (ch == 'Q') {
return 12;
} else if (ch == 'K') {
return 13;
} else if (ch == 'A') {
return 14;
} else if (ch == '2') {
return 15;
}
throw new NullPointerException();
}
public static int type(String item) {
int len = item.split(" ").length;
if (len == 1) {
return 0;
} else if (len == 2) {
return 1;
} else if (len == 5) {
return 2;
} else if (len == 3) {
return 3;
} else if (len == 4) {
return 4;
} else {
throw new NullPointerException();
}
}
}