乱求大神神解答

求大神解答个问题,在写的过程中我遇了这个问题
让我十分不解 ,就是player player=new player();的问题!
在这类playingCcards下创建player一点问题没有package com_poker_
import java.util.*;
public class playingCcards {
player player=new player();//==============在这没问题========================
List&Cards&
cardsList=new ArrayList&Cards&();
List&player& playerList=new ArrayList&player&();
String[] huaSe={"黑桃","方片","草花","红桃"};
String[] daXiao={"2","3","4","5","6","7","8","9",
"10","J","Q","K","A"};
但是放在playingCcards 类中的方法sendPokers和compare中,运行就会提示报错(Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1),而且compare中的int size=player.playerOneCards.size();System.out.println("lalal"+size);,size死活就是0。这是怎么回事呢??package com_poker_
import java.util.*;
public class playingCcards {
//player player=new player();=============不放这里了,这没了==============
List&Cards&
cardsList=new ArrayList&Cards&();
List&player& playerList=new ArrayList&player&();
String[] huaSe={"黑桃","方片","草花","红桃"};
String[] daXiao={"2","3","4","5","6","7","8","9",
"10","J","Q","K","A"};
// public void createCards(){
for(int i=0;i&huaSe.i++){
for(int j=0;i&daXiao.j++){
cardsList.add(new Cards(huaSe[i],daXiao[j]));
//cardsSet输出所有扑克牌
System.out.print(huaSe[i]+daXiao[j]+" ");
//建立扑克
public void createCards() {
System.out.println("----------------创建扑克牌----------------");
for(int i = 0;i & huaSe.i++){
for(int j = 0;j & daXiao.j++){
cardsList.add(new Cards(huaSe[i],daXiao[j]));
System.out.print(huaSe[i]+daXiao[j]+" ");
System.out.println("\n"+"-------------扑克牌创建成功!--------------");
* 另外一种输出方法 就不用了
for (Cards card : cardsList) {
System.out.print(card.getType() + card.getNum() + ",");
System.out.println("总共有" + cardsList.size() + "张牌。");
//------------------------------洗牌
Collections.shuffle(cardsList);
System.out.println("--------------洗牌完成--------------");
//建立玩家
public void creatPlayer(){
int playerID=0;
String playerN
Scanner sc=new Scanner(System.in);
for(int k=1;k&=2;k++){
System.out.println("请输入第"+k+"位玩家ID:");
//while(true) 想要在catch后面继续写代码 while(true)才好使
while(true){
sc=new Scanner(System.in);
playerID=sc.nextInt();
}catch(Exception e){
System.out.println("必须为整数");
System.out.println("请输入第"+k+"位玩家姓名:");
playerName=sc.next();
playerList.add(new player(playerID,playerName));
//遍历playerlist查看此时系统中有哪些玩家
for(int p=0;p&playerList.size();p++){
System.out.println("目前存在的玩家有:"+playerList.get(p).id+
"+playerList.get(p).name);
public void sendPokers(){
player player=new player();//===============放这里=================
for(int u=0;u&4;u++){
//哈哈很喜欢这个方法 u==0+(2*n),再多人也不怕!!!!!
if(u==0+(2*n)){
player.playerOneCards.add(cardsList.get(u));
if(u==1+(2*n)){
player.playerSecondCards.add(cardsList.get(u));
//n++的位置很重要的啊!!!!!!!!!!!!!!!!
for(int p=0;p&player.playerCards.size();p++){
System.out.println("目前已经发出的牌有:"+player.playerCards.get(p));
for(Cards pcr1:player.playerOneCards){
System.out.println("玩家"+playerList.get(0).name+"的牌有:"
+pcr1.type+pcr1.num);
for(Cards pcr2:player.playerSecondCards){
System.out.println("玩家"+playerList.get(1).name+"的牌有:"
+pcr2.type+pcr2.num);
//比较两人手牌大小
public void compare(){
player player=new player();//===========在这也new一下=================
List&Cards& everyoneMaxPokeList=new ArrayList&Cards&();
Collections.sort(player.playerOneCards);
Collections.sort(player.playerSecondCards);
//pareTo(per1.playerOneCards,per1.playerSecondCards);
//获取手牌list的size
int size=player.playerOneCards.size();
//System.out.println("lalal"+size);
//获得每个人最大的手牌
System.out.println("玩家"+playerList.get(0).name+"的最大牌:"+player.playerOneCards.get(size-1).type+
player.playerOneCards.get(size-1).num);
System.out.println("玩家"+playerList.get(1).name+"的最大牌:"+player.playerSecondCards.get(size-1).type+
player.playerSecondCards.get(size-1).num);
//把每个人最大手牌放入everyoneMaxPokeList中再做比较
everyoneMaxPokeList.add(player.playerOneCards.get(size-1));
everyoneMaxPokeList.add(player.playerSecondCards.get(size-1));
Collections.sort(everyoneMaxPokeList);
int sze=everyoneMaxPokeList.size();
//看看everyoneMaxPokeList中最大的数据到底属于谁!
//下面这种写法equal方法有问题
if(everyoneMaxPokeList.get(sze-1).equals(player.playerOneCards)){
System.out.println("Winner is:"+playerList.get(0).name);
System.out.println("Winner is:"+playerList.get(1).name);
if(player.playerOneCards.contains(everyoneMaxPokeList.get(sze-1))){
System.out.println("Winner is:"+playerList.get(0).name);
System.out.println("Winner is:"+playerList.get(1).name);
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
playingCcards pc=new playingCcards();
pc.createCards();
pc.creatPlayer();
pc.sendPokers();
pc.compare();
}求大神解答
我好折磨死了
写下你的评论...
Copyright (C)
All Rights Reserved | 京ICP备 号-22013年8月 .NET技术大版内专家分月排行榜第三2011年10月 .NET技术大版内专家分月排行榜第三
2013年8月 .NET技术大版内专家分月排行榜第三2011年10月 .NET技术大版内专家分月排行榜第三
2013年8月 .NET技术大版内专家分月排行榜第三2011年10月 .NET技术大版内专家分月排行榜第三
2013年8月 .NET技术大版内专家分月排行榜第三2011年10月 .NET技术大版内专家分月排行榜第三
2013年8月 .NET技术大版内专家分月排行榜第三2011年10月 .NET技术大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。后使用快捷导航没有帐号?
05-2705-2705-1205-2605-2705-27
查看: 670|回复: 5
求大神解答,悬赏效果到底是什么意思
Lv2 兵士, 积分 41, 距离下一级还需 59 积分
求大神解答,悬赏效果到底是什么意思
Lv8 丞相, 积分 4971, 距离下一级还需 1029 积分
魅惑是姨妈巾,悬赏是护垫,功能不同
Lv6 大将军, 积分 1493, 距离下一级还需 7 积分
看见那个带绿帽子的没,对就是笑地很猥琐那个,逮住狠揍。
我靠,你打歪了!
Lv2 兵士, 积分 63, 距离下一级还需 37 积分
加1,同问,我也不知道啥意思
Lv8 丞相, 积分 3495, 距离下一级还需 2505 积分
没有被悬赏标记的武将,被文丑技能打10000血,被悬赏标记了则被打35000血
Lv8 丞相, 积分 4002, 距离下一级还需 1998 积分
本身悬赏buff没有效果
但是部分技能带有攻击持有悬赏buff的武将时增加x倍伤害的攻击提升
突袭敌后,投石集火,史诗级SLG三国巨作,为你带来最霸气的策略战场,《主公争霸》势力集结,百万雄兵沙场对阵,坐拥江山,左右战场,享受指挥万军运筹帷幄的统帅乐趣吧!
顶级三国策略,招募文臣武将,讨伐诸侯群臣,体验原汁原味经典三国战役,因材施教培养强力麾下,走上三国乱世争霸之路!
Copyright & &&乐趣互娱&&&互联网ICP备案:浙B2- &&网络文化经营许可证&&&浙网文【-115号
地址:上海市浦东新区东方路1217号陆家嘴金融服务广场12层&&&电子邮箱:&&&
公安部备案号95号}

我要回帖

更多关于 求大神p图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信