java - 使用来自另一个类的变量在构造函数中创建数组列表?

标签 java list arraylist

我正在尝试制作一个名为 Elevens 的简化版纸牌。我成功制作了 Card 类,但在创建 Deck 类时遇到了问题。目标是创建一个具有独特卡片的套牌。很抱歉,如果这个解释不是最好的,但希望代码示例会有所帮助:

Card 类的构造函数:

package ElevensLab;

public class Card {
    private String suit;
    private String rank;
    private int pointValue;

public Card(String cardRank, String cardSuit, int cardPointValue) {
    rank=cardRank;
    suit=cardSuit;
    pointValue=cardPointValue;
}

Deck 类构造函数:

package ElevensLab;
import java.util.List;
import java.util.ArrayList;

public class Deck {
    private List<Card> cards;
    private int size;
    public Deck(String[] suits, String[] ranks, int[] values){
        ArrayList<Card> cards=new ArrayList<Card>();
        for(String suit: suits){
            for(String rank: ranks){
                for(int value: values){
                    cards.add(suit);
                }
            }
        }
        size=cards.size();
    }

最佳答案

好的,开始了:

因此,您正在制作 CardArrayList。要向那个 ArrayList 添加一个项目,它必须是 Card 类型,对吗?因此,在 Deckcards.add(suit) 的行中,您正在将 String 添加到 ArrayList属于 Card 类型。我假设这会给你一个编译器错误。相反,我要做的是在 cards.add() 调用中放置一个 Card 构造函数。我将使用您的代码向您展示:

package ElevensLab;
import java.util.List;
import java.util.ArrayList;

public class Deck {
    private List<Card> cards;
    private int size;
    public Deck(String[] suits, String[] ranks, int[] values){
        ArrayList<Card> cards=new ArrayList<Card>();
        for(String suit: suits){
            for(String rank: ranks){
                for(int value: values){
                    cards.add(new Card(rank, suit, value)); //This is the line I changed
                }
            }
        }
        size=cards.size();
    }

此代码将一个新的 Card 添加到具有所需值的 Deck 中。我希望这对您有所帮助,祝您好运!

关于java - 使用来自另一个类的变量在构造函数中创建数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43724235/

相关文章:

java - 具有图层问题的 PrimeFaces 菜单

java - 如何在 Java 中将一个 ListModel 转换为另一个 ListModel

java - 将组件存储在 ArrayList 中

java - ArrayList 或 Linked List - 如果要执行插入/删除和查找操作,则使用哪个集合

java - 将文本文件行中的字符串标记输入数组,然后作为数组集合输出

java - 如何为每个计数的数字做一个空格?

java - selenium firefox 52.0.2 和 intellij idea 崩溃

Python - 将元组添加到特定位置的现有元组列表

python - 如何一次比较多个列表的数值接近度?

java - 使用 Proguard 混淆 WAR 文件