Java 使用另一个类的变量在构造函数中创建arraylist?

Java 使用另一个类的变量在构造函数中创建arraylist?,java,list,arraylist,Java,List,Arraylist,我正在尝试制作一个简化版的纸牌游戏,名为Eleven。我成功地创建了卡类,但创建卡组类时遇到问题。目标是创建一个具有独特卡牌的牌组。很抱歉,如果此解释不是最好的,但希望代码示例能有所帮助: 卡类构造函数: package ElevensLab; public class Card { private String suit; private String rank; private int pointValue; public Card(String cardRank

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

卡类构造函数:

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;
}
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();
    }
甲板级建造师:

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;
}
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();
    }
package-ElevensLab;
导入java.util.List;
导入java.util.ArrayList;
公务舱甲板{
私人名单卡;
私有整数大小;
公共甲板(字符串[]适合,字符串[]等级,int[]值){
ArrayList cards=新的ArrayList();
适用于(细绳西服:西服){
for(字符串秩:秩){
for(int值:值){
卡片。添加(套装);
}
}
}
size=cards.size();
}
好的,下面是:

因此,您正在制作一个
Card
ArrayList
。若要在
ArrayList
中添加一个项目,它必须是
Card
类型,对吗?所以在
卡片组中的行上添加(套装)
您正在将一个
字符串
添加到
卡片
类型的
数组列表
。我假设这会给您带来一个编译器错误。相反,我要做的是,实际上在
卡片的内部放置一个
卡片
构造函数。add()
调用。我将演示如何使用您的代码:

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();
    }
package-ElevensLab;
导入java.util.List;
导入java.util.ArrayList;
公务舱甲板{
私人名单卡;
私有整数大小;
公共甲板(字符串[]适合,字符串[]等级,int[]值){
ArrayList cards=新的ArrayList();
适用于(细绳西服:西服){
for(字符串秩:秩){
for(int值:值){
卡片。添加(新卡片(等级、套装、价值));//这是我更改的行
}
}
}
size=cards.size();
}

此代码将一张新的
卡添加到
牌组中,并带有所需的值。我希望这对您有所帮助,祝您好运!

那么问题出在哪里?出于某种原因,您似乎正在将套装添加到卡列表中,而不是构建卡并将其添加到卡列表中。您是否需要设计帮助?我将说出一条指导方针并说声谢谢!我并没有考虑实际创建一个新的Card实例