Java for循环类型的Ilegal启动?
为什么会出现错误:java:16:error:type的非法开始 对于(int i=0;i<9;i++){ 我检查过旧的实验室,我认为这是正确的用法Java for循环类型的Ilegal启动?,java,Java,为什么会出现错误:java:16:error:type的非法开始 对于(int i=0;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的数组,这是相同的吗?是的,方括号必须位于对象类型旁边,而不是变量名旁边。否,类声明将进一步关闭。