亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

java在不同類中調用一個集合,發牌方法調用撲克牌類里的list為0???

--------首先是撲克牌類的list集合, ----------------------------------------------------------

package cardGame;

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;


public class ShuffleAllCards {

public List<String> cards;

public ShuffleAllCards(){

this.cards = new ArrayList<String>();

}

/**

* 生成所有52張牌

* */

public void CardsCreate(){

System.out.println("-----------游戲開始!-----------");

//通過遍歷得到所有52張牌.

String[] number = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};?

String[] color = {"黑桃","紅桃","梅花","方塊"};

for(int i=0;i<number.length;i++){

for (int j = 0; j < color.length; j++) {

//第一個是 黑桃A, 然后 紅桃A,?

String OneCard = color[j]+number[i];

//每一次都加到List里,list是有序的.

cards.add(OneCard);

}

}

if(cards.size() == 52){

System.out.println("-----------生成撲克牌成功-------");

}

}

/**

* 打亂所有52張牌的順序

* */

public void ShuffleCards(){

System.out.println("-----------開始洗牌-----------");

Collections.shuffle(cards);

System.out.println(cards.size());? //-----------------------這里輸出的是52,是對的--------------------

System.out.println("-----------洗牌結束-----------");

}

}

---然后在游戲類里的發牌方法里調用上面的list集合,給玩家的手牌, 想先看看list的大小, 居然是0,但是在撲克牌類里是52呀...-------------

package cardGame;


import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;


public class LetUsPlay {

Scanner console = new Scanner(System.in);

//定義一個玩家List

public List<Players> players;

public LetUsPlay() {

//初始化玩家List

players = new ArrayList<Players>();

}


/**

* 創建玩家方法

* */

public void CreatePlayers(){

System.out.println("-----------登記玩家信息-----------");

System.out.println("一共有幾位玩家呢?");

int playerCounter = console.nextInt();

for(int i=0;i<playerCounter;i++){

//確定一共有幾個玩家

System.out.println("請輸入第"+(i+1)+"位玩家ID: ");

int playerId = console.nextInt();

System.out.println("請輸入第"+(i+1)+"位玩家姓名: ");

String playerName = console.next();

Players player = new Players(playerId,playerName);

players.add(player);

}

for (Players players : players) {

System.out.println(players.name);

}

}


/**

* 為玩家發牌,之前撲克牌已經打亂順序了

* */

public void GiveCards(){

Players player = new Players();

ShuffleAllCards giveCards = new ShuffleAllCards();

System.out.println(giveCards.cards.size());? //-----------這里輸出的list的size是0???應該是52呀??

}

}


正在回答

1 回答

?new ShuffleAllCards(); 調用了構造方法

public ShuffleAllCards(){

this.cards = new ArrayList<String>();

}

構造方法里已經將cards重新new了。

ShuffleAllCards 類的引用應該在main函數里執行

你這里直接用cards就好了,反正是成員變量

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

java在不同類中調用一個集合,發牌方法調用撲克牌類里的list為0???

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號