还是Java的新手,但我在向我的arraylist添加多个新元素时遇到了问题。 这种方法的想法是查看并查看列表中是否已有名称,如果是,则返回false,如果不是,则将名称和人物分数添加到arraylist。 当我尝试添加它时,我一直收到错误。如果添加它只是我添加的名称部分,则会有效,但是一旦我也包含了scoreOn1st,它就会给我一个错误。
public boolean addGolfer(String name, int scoreOn1st)
{
// check if the golfer is already in the collection
for (int i = 0; i < board.size(); i++)
{
if (board.get(i).equals(name))
{
return false;
}
}
// otherwise
board.add(new ScoreCard(name, scoreOn1st));
return true;
}
这是为arraylist创建的构造函数类:
public ScoreBoard(String tourneyName)
{
// initialize instance varable
this.tournament = tourneyName;
ArrayList<ScoreCard> board = new ArrayList<ScoreCard>();
}
答案 0 :(得分:0)
董事会应在外面宣布。你可以在构造函数中新建它。 get!方法返回一个ScoreCard对象,您无法直接调用equals name。
public class ScoreBoard {
List<ScoreCard> board;
public ScoreBoard(String tourneyName)
{
this.tournament = tourneyName;
this.board = new ArrayList<ScoreCard>();
}
ScoreCard应该是这样的:
class ScoreCard {
ScoreCard(String name) {//definition } //1st Constructor
ScoreCard(String name, int score) { //definition } //2nd Constructor
答案 1 :(得分:0)
在构造函数中,board变量是方法变量而不是字段。
public ScoreBoard(String tourneyName)
{
// initialize instance varable
this.tournament = tourneyName;
this.board = new ArrayList<ScoreCard>(); // I assume you have declared this field.
}