1、hashmap记录牌型大小 2、两个都不是炸弹,王炸, 长度不一致则不可比较输出ERROR 长度一致,比较大小 3、如果有王炸,直接输出 4、如果其中之一是炸弹,输出炸弹 5、如果两个都是炸弹,比较大小
import java.util.*;
public class Main {
public static HashMap<String,Integer> cmp = new HashMap<String,Integer>(){{
put("3",1);
put("4",2);
put("5",3);
put("6",4);
put("7",5);
put("8",6);
put("9",7);
put("10",8);
put("J",9);
put("Q",10);
put("K",11);
put("A",12);
put("2",13);
put("joker",14);
put("JOKER",15);
}};
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) { // 注意 while 处理多个 case
String[] pk = in.nextLine().split("\\-");
String[] p1 = pk[0].split("\\s");
String[] p2 = pk[1].split("\\s");
//不是炸弹,王炸,长度不一致则不可比较输出ERROR
if(!jokerBoom(p1) && !jokerBoom(p2) && !isBoom(p1) && !isBoom(p2)){
if(p1.length != p2.length){
System.out.println("ERROR");
continue;
}else{//p1 和 p2都不是炸弹,长度一致
printResult(cmpP1P2(p1,p2));
continue;
}
}
if(jokerBoom(p1)){
printResult(p1);
continue;
}
if(jokerBoom(p2)){
printResult(p2);
continue;
}
if(isBoom(p1) && !isBoom(p2)){
printResult(p1);
continue;
}
if(!isBoom(p1) && isBoom(p2)){
printResult(p2);
continue;
}
if(isBoom(p1) && isBoom(p2)){
printResult(cmpP1P2(p1,p2));//比大小
}
}
}
public static boolean jokerBoom(String[] s){
if(s.length != 2){
return false;
}
return (s[0].equals("joker") && s[1].equals("JOKER")) || (s[1].equals("joker") && s[0].equals("JOKER"));
}
public static boolean isBoom(String[] s){
if(s.length == 4){
return true;
}
return false;
}
//牌型相同且不是炸弹
public static String[] cmpP1P2(String[] p1,String[] p2){
if(cmp.get(p1[0]) > cmp.get(p2[0])){
return p1;
}else{
return p2;
}
}
//打印结果
public static void printResult(String[] s){
for(int i=0;i<s.length-1;i++){
System.out.print(s[i] + " ");
}
System.out.println(s[s.length-1]);//打印最后一个数字,并换行
}
}