超强逻辑题,兄弟们谨慎理解~~~话不多说,上代码
public class Main3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
String[] arr = str.split("-");
String ret = judge(arr[0],arr[1]);
judgeSame(arr[0],arr[1]);
System.out.println(ret);
}
private static String tmp = "3,4,5,6,7,8,9,10,J,Q,K,A,2,joker,JOKER";
private static String judge(String s1, String s2) {
String ret = "ERROR";
String[] arr1 = s1.split(" ");
String[] arr2 = s2.split(" ");
if(arr1.length != arr2.length){//炸弹-王炸或者炸弹-普通或者王炸-普通
if(arr1.length == 2 || arr2.length == 2){
String[] cur = new String[2];
if(arr1.length == 2){
cur = arr1;
}else {
cur = arr2;
}
String[] cvm = (cur == arr1)?arr2:arr1;
int index = tmp.indexOf(cur[0]);
int index2 = tmp.indexOf(cur[1]);
if(index + index2 == 60){//说明其中一个是王炸
if(cur == arr1){
return s1;
}else {
return s2;
}
}else if(index == index2 && cvm.length == 4){//判断是否一个为对子,一个为炸弹
String kvl = cvm[0];
for (int i = 0; i < cvm.length; i++) {
if(!cvm[i].equals(kvl)){
return ret;
}
}
if(cvm == arr1){
return s1;
}else {
return s2;
}
}
}else {//不存在王炸,判断是否存在炸弹
if(arr1.length == 4 || arr2.length == 4){
String[] ynm = new String[4];
if(arr1.length == 4){
ynm = arr1;
}else {
ynm = arr2;
}
String kkl = ynm[0];
for (int i = 0; i < ynm.length; i++) {
if(!ynm[i].equals(kkl)){
return ret;
}
}
if(ynm == arr1){
return s1;
}else {
return s2;
}
}
}
}else {
int res = judgeSame(arr1[0],arr2[0]);
if(res == 1){
return s1;
}else {
return s2;
}
}
return ret;
}
private static int judgeSame(String s1,String s2){
int index = tmp.indexOf(s1);
int index2 = tmp.indexOf(s2);
int result = 1;
if(index < index2){
result = -1;
}
return result;
}
}