在方法中将数组作为参数传递
Passing array as parameter in a method
我正在尝试在 java 中制作一个简单的国际象棋程序。有一个 ArrayList 存储了骑士可以做的所有动作,每一步都是 Integer[]
。数组中的第一项是行,第二项是列。它看起来像这样:
ArrayList<Integer[]> moves = new ArrayList<>();
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});
我正在尝试在 java 中制作一个简单的国际象棋程序。有一个 ArrayList 存储了骑士可以做的所有动作,每一步都是 Integer[]
。数组中的第一项是行,第二项是列。它看起来像这样:
ArrayList<Integer[]> moves = new ArrayList<>();
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});