为了账号安全,请及时绑定邮箱和手机立即绑定

运行几十次,总会出一次错误的比较大小

运行几十次,总会出一次错误的比较大小

Meng7y 2017-07-07 20:24:29
public class PokerGame {    List<Poker> pokers = new ArrayList<>();    public PokerGame() {        int count = 13;        for(int i = 14; i > 1 ; i--,count--){            String pString = i+"";            if (i == 11){                pString = "J";            }            if (i == 12){                pString = "Q";            }            if (i == 13){                pString = "K";            }            if (i == 14){                pString = "A";            }            Poker[] spade = new Poker[count];            //《错误日志》上面申请的是count长度的数组,但是数组是从零开始的,所以最大的数组下标应该是count减一            spade[count-1] = new Poker();            spade[count-1].setPokerFaces(pString);            spade[count-1].setFlowerColor("黑桃");            pokers.add(spade[count-1]);        }        for(Poker p:pokers){            System.out.println(p.getFlowerColor()+p.getPokerFaces());        }    }        public void playGame(){        Player p1 = new Player();        @SuppressWarnings("resource")        Scanner input = new Scanner(System.in);        System.out.println("请输入第一位玩家的姓名:");        p1.setName(input.next());        Player p2 = new Player();        @SuppressWarnings("resource")        Scanner input2 = new Scanner(System.in);        System.out.println("请输入第二位玩家的姓名:");        p2.setName(input2.next());                Random random = new Random();        int r = (random.nextInt(12));        String p1hand = pokers.get(r).getFlowerColor() + pokers.get(r).getPokerFaces();        p1.setHandPoker(p1hand);        pokers.remove(r);                Random random2 = new Random();        int r2 = (random2.nextInt(12));        String p2hand = pokers.get(r2).getFlowerColor() + pokers.get(r2).getPokerFaces();        p2.setHandPoker(p2hand);        pokers.remove(r2);                if(r < r2){            System.out.println("玩家" + p1.getName() + "获得胜利!");        }else {            System.out.println("玩家" + p2.getName() + "获得胜利!");        }                System.out.println("玩家" + p1.getName() + "的手牌是:" + p1.getHandPoker());        System.out.println("玩家" + p2.getName() + "的手牌是:" + p2.getHandPoker());    }        public static void main(String[] args) {        PokerGame pokerGame  = new PokerGame();        pokerGame.playGame();    }}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1444 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信