java for循环的类型开头非法?

xmd2e60i  于 2023-03-06  发布在  Java
关注(0)|答案(4)|浏览(228)

为什么会出现错误:java:16:错误:非法的类型开头

for(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]);
    }

    // ...
}
pbpqsu0x

pbpqsu0x1#

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

eivgtgni

eivgtgni2#

你的循环代码是完全法律的的,但是它需要在一个方法里面,这样它才能被解释为代码并运行。目前它只是和它前面的行沿着放在类声明里面,所以糟糕的编译器不知道你想用它做什么,或者你想让它什么时候运行。:D

q0qdq0h2

q0qdq0h23#

正如许多人已经指出的,你需要从一个方法运行循环。下面是一个例子:

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]);
  }
}
kd3sttzy

kd3sttzy4#

它需要在类的一个方法中。数组也应该像这样声明:
Lab3Label[] label = new Lab3Label[9];

相关问题