题解 | #扑克牌大小#
扑克牌大小
https://www.nowcoder.com/practice/d290db02bacc4c40965ac31d16b1c3eb
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static HashMap<String,Integer> map=new HashMap<>(); public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 map.put("3",1); map.put("4",2); map.put("5",3); map.put("6",4); map.put("7",5); map.put("8",6); map.put("9",7); map.put("10",8); map.put("J",9); map.put("Q",10); map.put("K",11); map.put("A",12); map.put("2",13); map.put("joker",14); map.put("JOKER",15); while (in.hasNext()) { // 注意 while 处理多个 case String str=in.nextLine(); String[] s=str.split("-"); String[] s1=s[0].split(" "); String[] s2=s[1].split(" "); if(check(s1)!=0&&check(s2)!=0&&(check(s1)==check(s2))||check(s1)==4||check(s1)==6||check(s2)==4||check(s2)==6){ if(check(s1)==check(s2)){ if(check(s1)==1){ if(map.get(s1[0])>map.get(s2[0])){ System.out.println(s1[0]); } else{ System.out.println(s2[0]); } } else if(check(s1)==2){ if(map.get(s1[0])>map.get(s2[0])){ System.out.println(s1[0]+" "+s1[1]); } else{ System.out.println(s2[0]+" "+s2[1]); } } else if(check(s1)==3){ if(map.get(s1[0])>map.get(s2[0])){ System.out.println(s1[0]+" "+s1[1]+" "+s1[2]); } else{ System.out.println(s2[0]+" "+s2[1]+" "+s2[2]); } } else if(check(s1)==4){ if(map.get(s1[0])>map.get(s2[0])){ System.out.println(s1[0]+" "+s1[1]+" "+s1[2]+" "+s1[3]); } else{ System.out.println(s2[0]+" "+s2[1]+" "+s2[2]+" "+s2[3]); } } else if(check(s1)==5){ if(map.get(s1[0])>map.get(s2[0])){ System.out.println(s1[0]+" "+s1[1]+" "+s1[2]+" "+s1[3]+" "+s1[4]); } else{ System.out.println(s2[0]+" "+s2[1]+" "+s2[2]+" "+s2[3]+" "+s2[4]); } } } else if(check(s1)==6||check(s2)==6){ if(check(s1)==6){ System.out.println(s1[0]+" "+s1[1]); } else{ System.out.println(s2[0]+" "+s2[1]); } } else if(check(s1)==4||check(s2)==4){ if(check(s1)==4&&check(s2)!=4){ System.out.println(s1[0]+" "+s1[1]+" "+s1[2]+" "+s1[3]); } else if(check(s1)!=4&&check(s2)==4){ System.out.println(s2[0]+" "+s2[1]+" "+s2[2]+" "+s2[3]); } else if(check(s1)==4&&check(s2)==4){ if(map.get(s1[0])>map.get(s2[0])){ System.out.println(s1[0]+" "+s1[1]+" "+s1[2]+" "+s1[3]); } else{ System.out.println(s2[0]+" "+s2[1]+" "+s2[2]+" "+s2[3]); } } } } else{ System.out.println("ERROR"); } } } public static int check(String[] str){ int len=str.length; if(len==1){//个子 return 1; } else if(len==2){ if(str[0].equals("joker")&&str[1].equals("JOKER")||str[1].equals("joker")&&str[0].equals("JOKER")){//对王 return 6; } else if(str[0].equals(str[1])){//对子 return 2; } else{ return 0; } } else if(len==3){//三个 if(str[0].equals(str[1])&&str[1].equals(str[2])) return 3; else return 0; } else if(len==4){//炸弹 if(str[0].equals(str[1])&&str[1].equals(str[2])&&str[2].equals(str[3])) return 4; else return 0; } else if(len==5){//顺子 if(map.get(str[0])+1==map.get(str[1])&&map.get(str[1])+1==map.get(str[2])&&map.get(str[2])+1==map.get(str[3])&&map.get(str[3])+1==map.get(str[4])) return 5; else return 0; } else{ return 0; } } }