Java for循环类型的Ilegal启动?

Java for循环类型的Ilegal启动?,java,Java,为什么会出现错误:java:16:error:type的非法开始 对于(int i=0;i

为什么会出现错误:java:16:error:type的非法开始 对于(int i=0;i<9;i++){ 我检查过旧的实验室,我认为这是正确的用法

import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;


class Lab3Panel extends JPanel{

    Lab3Panel () {

        setLayout(new GridLayout(3,3));
    }


    Lab3Label label[] = new Lab3Label[9];

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

        label[i] = new Lab3Label();
        add(label[i]);
    }
import javax.swing.*;
导入java.awt.*;
导入java.awt.event.*;
类Lab3Panel扩展了JPanel{
Lab3Panel(){
setLayout(新网格布局(3,3));
}
Lab3Label标签[]=新Lab3Label[9];
对于(int i=0;i<9;i++){
label[i]=新的Lab3Label();
添加(标签[i]);
}

for循环需要在方法、构造函数中,或者至少在一对
{}
括号之间。但是可能是构造函数。

它需要在类中的方法中。数组也应该这样声明:


Lab3Label[]label=新的Lab3Label[9];

您的循环代码是完全合法的,但它需要在一个方法中才能真正被解释为代码并运行。目前,它只是位于类声明中以及它前面的一行,因此糟糕的编译器不知道您想对该代码做什么或何时运行。:D

许多人已经指出了这一点您需要从一个方法运行循环。以下是一个示例:

Class Lab3Panel extends JPanel{

Lab3Panel () {

    setLayout(new GridLayout(3,3));
}


Lab3Label[] label = new Lab3Label[9];

newlabels();

public void newlabels()
{

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

    label[i] = new Lab3Label();
    add(label[i]);
  }
}
类Lab3Panel扩展了JPanel{
Lab3Panel(){
setLayout(新网格布局(3,3));
}
Lab3Label[]label=新Lab3Label[9];
新标签();
公共标签()
{
对于(int i=0;i<9;i++){
label[i]=新的Lab3Label();
添加(标签[i]);
}
}

我正在尝试创建对象Lab3Label的数组,这是相同的吗?是的,方括号必须位于对象类型旁边,而不是变量名旁边。否,类声明将进一步关闭。