gpt4 book ai didi

java - 无法调用 Arraylist 上定义的方法

转载 作者:行者123 更新时间:2023-12-02 13:39:32 25 4
gpt4 key购买 nike

我编写的包含 ArrayList 的类遇到了问题。代码:

import java.util.ArrayList;


public class AscendingPile {
public ArrayList<Integer> pile = new ArrayList<Integer>() {{
add(1);
}};

public void lay(int card) throws IllegalArgumentException{
int lastCard = pile.get(pile.size() - 1);
if(card > lastCard || card == lastCard - 10){
pile.add(card);
}
else {
throw new IllegalArgumentException("....");
}
}
// returns last card on the deck
public int getCard() {
return pile.get(pile.size() - 1);
}

}

问题在于 lay 方法:我希望 if 语句看起来像这样,而不是定义一个新的局部变量:

if(card > pile.getCard() || card == pile.getCard() - 10)

但是 IntelliJ 说无法解析符号 getCard()

如何更改代码以获得所需的结果?

最佳答案

but IntelliJ says cannot resolve symbol getCard()

确实如此,ArrayList 类没有名为 getCard() 的方法

而不是这样做:

pile.getCard();

直接调用类AscendingPile的方法

getCard();

关于java - 无法调用 Arraylist 上定义的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42813024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com