初始化一个数组 - 不会编译?

时间:2018-01-09 04:27:38

标签: java arrays syntax

public class Avalon {
    int[] ia = new int[100];
    for (int i = 0; i < 100; i++)
         ia[i] = i;
public static void main(String[] args) {
    System.out.println("Hello World");
    }
}

我收到错误:令牌“;”上的语法错误,{在此令牌之后的预期行:      int [] ia = new int [100]; 有人可以告诉我为什么吗?

3 个答案:

答案 0 :(得分:1)

进行此更改

public class Avalon {

    private int[] ia = new int[100];

    public void init(){
      for (int i = 0; i < 100; i++){
         ia[i] = i;
      }
    }

    public int[] getArray(){
      return ia;
    }

public static void main(String[] args) {

    System.out.println("Hello World");
    Avalon obj = new Avalon();
    obj.init();
    //get array
    int[] array = obj.getArray();

    }
}

答案 1 :(得分:1)

也许你可以尝试这样:

public class Avalon {
    private void test() {
        int[] ia = new int[100];
        for (int i = 0; i < 100; i ++) {
            ia[i] = i;
        }
    }
    public static void main(String[] args) {
        Avalon avalon = new Avalon();
        avalon.test();
        System.out.println("Hello World!");
    }
}

因为你不能在没有方法的情况下把循环放在类中。

答案 2 :(得分:0)

初始化类变量,并从主类开始流程。在@ buzzerbeater27使用的方法中,流程永远不会进入for循环。您可以使用以下方法:

public class Avalon {
    static int[] ia = {1,2,3,4,5};

public static void main(String[] args) {
    System.out.println("Hello World");
    System.out.println(ia[2]);
    }
}