【牛客网】OR44 扑克牌大小

题目链接:

https://www.nowcoder.com/practice/0a92c75f5d6b4db28fcfa3e65e5c9b3f?tpId=49&&tqId=29277&rp=1&ru=/activity/oj&qru=/ta/2016test/question-ranking
在这里插入图片描述在这里插入图片描述

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        String[] pp = str.split("-");//将 pp 字符串用 - 隔开
        String[] p1 = pp[0].split(" ");//pp[0]表示第一副牌
        String[] p2 = pp[1].split(" ");//pp[1]表示第二副牌
        String p = "34567891JJQKA2";// 1 代表10的位置
        if(pp[0].equals("joker JOKER") || pp[1].equals("joker JOKER")){
            //如果有任何一副牌出现大小王, 直接输出大小王
            System.out.println("joker JOKER");
        }else if(p1.length == p2.length){
            //如果牌 1 的长度 = 牌 2 的长度
            //那么只需要比较第一个牌的大小(题目已给顺子从小到大排列且除了大小王和炸弹之前任何两副牌都不会相同)
            //这是 个子 顺子 对子 三个 的情况
            if(p.indexOf(p1[0].substring(0, 1)) > p.indexOf(p2[0].substring(0, 1))){
                //假设第一副牌的第一个数是10
                //p1[0].substring(0, 1)则表示 1 
                //只需要找到 p 中 1 的位置即可
                //第一副牌的第一个数大于第二副牌的第一个数
                //输出第一副牌
                System.out.println(pp[0]);
            }else{
                System.out.println(pp[1]);
            }
        }else if(p1.length == 4){
            //长度 = 4表示该副牌是炸弹(题中已给出两副牌不会都是炸弹)
            //按照比较规则直接输出该副牌
            System.out.println(pp[0]);
        }else if(p2.length == 4){
            System.out.println(pp[1]);
        }else{
            //其余情况直接输出ERROR
            System.out.println("ERROR");
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值