题解 | #扑克牌大小#

扑克牌大小

https://www.nowcoder.com/practice/d290db02bacc4c40965ac31d16b1c3eb

import java.util.Scanner; 
import java.util.HashMap;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    private static HashMap<String,Integer> map =new HashMap();
    static{
        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("O",10);    
        map.put("K",11);    
        map.put("A",12);    
        map.put("2",13);
        map.put("joker",14);    
        map.put("JOKER",15);    


    }
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String [] pokes =in.nextLine().split("-");
            String [] one =pokes[0].split(" ");
            String [] two =pokes[1].split(" ");
            if(aLeastb(one,two)==1)
            {
                System.out.println(pokes[1]);
            }
            else if(aLeastb(one,two)==0)
            {
                System.out.println(pokes[0]);
            }
            else{
                System.out.println("ERROR");

            }


        } 
    }
    public static int aLeastb(String [] a,String []b)
    {
        if(a.length>=2||b.length>=2)
        {
             if (a[0].equals("joker")&&a[1].equals("JOKER") || a[0].equals("JOKER")&&a[1].equals("joker")){
            return 0;
        }else if (b[0].equals("joker")&&b[1].equals("JOKER") || b[0].equals("JOKER")&&b[1].equals("joker")){
            return 1;
        }
        }
        int n1 =map.get(a[0]);
        int n2 =map.get(b[0]);
        if(isBoom(a)&&isBoom(b))
        {
            return n1<n2?1:0;
        }
        else if(isBoom(a))
        {
            return 0;
        }
        else if(isBoom(b))
        {
            return 1;
        }
        else if(a.length==b.length)
        {
            return n1<n2?1:0;
        }
        else{
            return -1;
        }

       
    }
    public static boolean isBoom(String [] a)
    {
        if(a.length!=4)return false;
        String first =a[0];
        for(int i=1;i<4;i++)
        {
            if(!a[i].equals(first))return false;
        }
        return true;
    }
}

全部评论

相关推荐

03-13 09:57
已编辑
武汉大学 Java
点赞 评论 收藏
分享
中南民族大学的一名中南民族大学的学生:不敢睁开眼 希望是我的幻觉
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务