在类级别执行数组初始化时出错

时间:2015-10-23 15:49:42

标签: java arrays

我是Java的新手,并开始做数组,但是我收到了以下代码的编译错误。请帮忙

public class TestingArrays {

    int[] ank = new int[]{1,2,3,4,5};
    int[] ans = new int[5];

    ans[0] = 2;

}

如果我评论该行// ans [0] = 2;然后错误消失了,请解释

2 个答案:

答案 0 :(得分:1)

这是一个类定义。您可以声明和初始化成员和方法。您不能像在函数体中那样编写代码。如果您像这样修改(构造函数):

,您的代码将起作用
public class TestingArrays {

    int[] ank = new int[]{1,2,3,4,5};
    int[] ans = new int[5];

    TestingArrays() {
        ans[0] = 2;
    }
}

或者甚至像这样(初始化块):

public class TestingArrays {

    int[] ank = new int[]{1,2,3,4,5};
    int[] ans = new int[5];

    {
        ans[0] = 2;
    }
}

答案 1 :(得分:0)

在构造函数或实例初始化程序中进行初始化。

TestingArrays() {
  ans[0] = s;
}

您不能在类体中包含语句,例如将值设置为字段。