java添加到ArrayList问题
我会提示用户输入他们的名字,并将ai播放器添加到我的ArrayList中。不幸的是,我收到了一个“找不到符号”错误的话“添加”在我的代码下面。我假设这是一种不进口的东西,我现在似乎不太明白
package connectfour;
import java.util.ArrayList;
import javax.swing.*;
import userInterface.Connect4Ui;
import core.Player;
import core.HumanPlayer;
import core.AiPlayer;
/**
*
* @author j_ortiz9688
*/
// connect 4 main
public class ConnectFour {
private static ArrayList<Player>player;
private static Connect4Ui frame;
public static void makePlayers(){
player = new ArrayList<Player>();
String name = JOptionPane.showInputDialog("Enter your name");
HumanPlayer player = new HumanPlayer(name);
AiPlayer ai = new AiPlayer("Computer", 0);
player.add(player);
player.add(ai);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
frame = new Connect4Ui();
}
}
# 1 楼答案
您正在创建一个与
ArrayList
同名的新变量,它隐藏了类中的静态ArrayList
字段(即使删除了对.add()
的调用,它也不会编译)。您需要重命名局部player
变量或player
字段例如:
# 2 楼答案
定义一个局部变量
HumanPlayer player = new HumanPlayer(name);
,该变量隐藏ArrayList
同名的数据成员。只要给它起一个不同的名字,你就可以了: