Java Eclipse中意外缺少{大括号

Java Eclipse中意外缺少{大括号,java,eclipse,Java,Eclipse,Eclipse找到了一个缺少的{大括号,但没有它应该在的地方。特别是:标记上的语法错误;,{应该在这个标记之后 要么我错过了一些愚蠢的东西,要么我必须学习一些关于Java的新知识。这就是所讨论的类: class usedCars{ Random r = new Random(); String[] allColors = {"red", "orange", "yellow", "green", "blue", "indigo", "violet"}; String[]

Eclipse找到了一个缺少的{大括号,但没有它应该在的地方。特别是:标记上的语法错误;,{应该在这个标记之后

要么我错过了一些愚蠢的东西,要么我必须学习一些关于Java的新知识。这就是所讨论的类:

class usedCars{
    Random r = new Random();

    String[] allColors = {"red", "orange", "yellow", "green", "blue", "indigo", "violet"};
    String[] allMakes  = {"honda", "mercedes", "rolls-royce", "audi"};

    String[] colorList = new String[10];
    String[] makeList  = new String[10];
    int[] yearList  = new int[10];
    int[] speedList = new int[10]; //here is the error mentioned above

    //fill the lists
    for(int i=0; i<10; i++) { 

        this.colorList[i] = this.allColors[this.r.nextInt(this.allColors.length)]; }
} //usedCars class
我的最后一行代码还缺少一个右大括号}


怎么了?

在Java中,您不能直接在类中编写可执行语句。因此这在语法上是错误的:

for(int i=0; i<10; i++) { 

    this.colorList[i] = this.allColors[this.r.nextInt(this.allColors.length)];
}

可执行语句只能在方法/构造函数/代码块中

一句忠告:当你在语法方面遇到不理解的错误时,很可能你把它弄得一团糟,以至于编译器不能给你一个相关的错误。这是告诉你的第一个时刻:你看到的问题通常只是另一个问题的结果问题;缩小范围,看看更大的画面。谢谢Gimby!是的,我认为这是一个更普遍的错误,但我不知道你不能在类中生成可执行语句。另一方面,我不太理解否决票;如果有理由,我会好奇为什么。这似乎是一个公平的问题,答案是9票赞成它帮助了很多人。