Java ArrayList get方法有问题

Java ArrayList get方法有问题,java,arraylist,Java,Arraylist,在ArrayList类中使用“get”方法时出现问题 主要方法是在ArrayList中创建一组卡片,然后显示所有卡片。我只是想解释一下为什么在我的主方法(游戏类)中出现“d.get(I)”错误。如果我在甲板课上使用它,效果很好 游戏类别: package game; import java.util.*; public class Game { public static void main(String[] args) { /*Card f = new Card(2,7);

在ArrayList类中使用“get”方法时出现问题

主要方法是在ArrayList中创建一组卡片,然后显示所有卡片。我只是想解释一下为什么在我的主方法(游戏类)中出现“d.get(I)”错误。如果我在甲板课上使用它,效果很好

游戏类别:

package game;
import java.util.*;

public class Game {

public static void main(String[] args) {

    /*Card f = new Card(2,7);
    System.out.println(f.toString());*/

    Deck d = new Deck();
    int i = 0;

    while(i < 52)
    {
        //where error occurs:
        Card k = d.get(i);//get is underlined red
        System.out.println(d.toString());
        i++;
    }

}

}
甲板等级:

package game;
import java.util.*;

public class Deck {

private ArrayList<Card> deck;

public Deck(){

    deck = new ArrayList<>();

    for(int i = 0;i<4;i++){
        for(int j = 0;j<13;j++){

        deck.add(new Card(i,j));

        }       
    }

}
}
打包游戏;
导入java.util.*;
公务舱甲板{
私人露天甲板;
公共甲板(){
deck=newarraylist();

对于(int i=0;i我想你是有意这样做的:

Card k = d.getCards().get(i);
当然,首先必须在类
Deck
中实现
getCards()
方法:

public ArrayList<Card> getCards() {
    return deck;
}
public ArrayList getCards(){
返回甲板;
}

您应该制定一种方法来实际获取您的卡阵列列表:

package game;
import java.util.*;

public class Deck {

private ArrayList<Card> deck;

public Deck(){

    deck = new ArrayList<>();

    for(int i = 0;i<4;i++){
        for(int j = 0;j<13;j++){

        deck.add(new Card(i,j));

        }       
    }

}

public ArrayList<Card> getDeck() {
    return deck;
}
}
打包游戏;
导入java.util.*;
公务舱甲板{
私人露天甲板;
公共甲板(){
deck=newarraylist();

对于(int i=0;i您可以在
Deck
类中为
ArrayList
实现一个getter,或者向
Deck
类添加一个get方法并委托给
ArrayList

public Card get(int index) {
    return this.deck.get(index);
}

为什么你认为你的
Deck
类有一个
get
方法?我不这么认为。我想我可以在main方法中使用arraylist类的get方法,然后这样做。不要做
d.get(I)
Deck
,而不是
arraylist
。好的,谢谢!
public Card get(int index) {
    return this.deck.get(index);
}