for循环的类型的非法启动?

为什么我得到错误:java:16:错误:非法启动类型为(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]); } 

for循环需要在一对{}括号中的方法,构造函数或最小值。 但可能是一个构造函数。

你的循环代码是完全合法的,但它需要在一个方法内部实际被解释为代码并运行。 目前它只是坐在类声明中以及它之前的行,所以可怜的编译器不知道你想用这个代码做什么,或者你想要它运行。 :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]); } } 

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

Lab3Label[] label = new Lab3Label[9];