以下代码有什么问题?
class xyz
{
int[] array=new int[3];
array[0]=0;
array[1]=1;
array[2]=2;
public static void main(String[] args)
{
xyz a=new xyz();
System.out.println(a.array[0]+" "+a.array[1]+" "+a.array[2]);
}
}
我无法在类中初始化数组,但是如果在类的方法或主函数中初始化了数组,则它可以工作。
答案 0 :(得分:2)
声明和初始化数组的语法可以在单个语句中完成,例如
function dirReduc(arr) {
const map = {
NORTH: ([x, y]) => [x, y + 1],
SOUTH: ([x, y]) => [x, y - 1],
EAST: ([x, y]) => [x + 1, y],
WEST: ([x, y]) => [x - 1, y],
};
console.log(arr.reduce((tmp, x) => map[x](tmp), [0, 0]));
}
dirReduc([
'NORTH',
'NORTH',
'NORTH',
'SOUTH',
]);
或,您可以使用初始化块。喜欢,
int[] array = { 0, 1, 2 };
答案 1 :(得分:0)
array[0]=0;
array[1]=1;
array[2]=2;
这不是合法的Java。可执行代码必须在方法或构造函数内部。