sin*_*tor 2 java arrays initialization class instance
我是Java的新手,当我尝试创建DeckofCards类的实例时,我的main函数出现错误.DeckofCards类应该是"卡片"对象的私有数组.我认为我的问题出现在DeckofCards类中,出于某种原因,我认为它不是一个数组?也许我创造了它错了?
我的主要错误是 '('或''''预期 和 数组需要,但DeckofCards发现
这是我的主要功能:
public static void main(String[] args) {
Card myCard = new Card(13,1);
System.out.println(myCard.getSuit());
System.out.println(myCard);
DeckofCards myDeck = new DeckofCards; //error here
for(int i=0; i<53; i++) {
System.out.println(myDeck[i]); //second error here
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的DeckofCards类:
public class DeckofCards {
private Card[] deck = new Card[52];
public DeckofCards(){
int i = 0;
for(int s = 1; s<5; s++){
for(int r = 1; r<14; r++){
deck[i].rank = r;
deck[i].suit = s;
i++;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果有人能告诉我,我是否缺少一些语法或某些东西会很棒!谢谢.
你需要调用构造函数:
DeckofCards myDeck = new DeckofCards(); // note parens!
Run Code Online (Sandbox Code Playgroud)
在Java中,括号是必需的.
在构造函数中,您还需要将数组的每个元素初始化为一个新Card对象:
for(int s = 1; s<5; s++){
for(int r = 1; r<14; r++){
deck[i] = new Card();
deck[i].rank = r;
deck[i].suit = s;
i++;
Run Code Online (Sandbox Code Playgroud)