Java ArrayList get方法有问题
在ArrayList类中使用“get”方法时出现问题 主要方法是在ArrayList中创建一组卡片,然后显示所有卡片。我只是想解释一下为什么在我的主方法(游戏类)中出现“d.get(I)”错误。如果我在甲板课上使用它,效果很好 游戏类别: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);
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);
}