我正在尝试用Java编写一个简单的Chess程序。有一个ArrayList存储骑士可以做的所有动作,每个动作都是Integer[]
。数组中的第一项是行,第二项是列。看起来像这样:
ArrayList<Integer[]> moves = new ArrayList<Integer[]>();
moves.add({row - 2, col - 1});
moves.add({row - 1, col - 2});
moves.add({row - 2, col + 1});
moves.add({row - 1, col + 2});
moves.add({row + 1, col - 2});
moves.add({row + 2, col - 1});
moves.add({row + 2, col + 1});
moves.add({row + 1, col + 2});
由于某种原因,当我尝试运行代码时,我遇到大约100个错误,包括illegal start of expression
,<identifier> expected
和not a statement
。
我不确定是什么引起了问题。 Java是否不允许在ArrayLists中存储数组,或者我的确切语法有问题吗?
您总是需要初始化数组才能使其工作。
ArrayList<Integer[]> moves = new ArrayList<>();
moves.add(new Integer[]{ 2, 1});