for循环获取错误"非法启动类型"

Phi*_* R. 1 java loops for-loop

所以我试图在java中创建一个程序,它将创建一个10乘10的矩阵,每个元素随机显示1或0.这是我到目前为止:

package random.matrix;

import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;

class ex2 extends JFrame {

    class Random {
        GridLayout setLayout= new GridLayout(10, 10);

        for (int i = 0; i < 10; i++) {
            int number = (int) (Math.random() * 2);
            String str = Integer.toString(number);
            add(new JLabel(str, JLabel.CENTER));
        }
    }

    public static void main(String[] args) {
        JFrame frame = new ex2();
        frame.setTitle("RandomMatrix");
        frame.setSize(400, 400);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

据我所知,这个程序应该运行得很好.但是,每当我尝试时,它都会说"非法启动类型",特指for循环线.任何人都可以帮我解决这个问题吗?我从来没有遇到过这样的错误.

Rei*_*eus 6

您需要将代码放在代码块中,例如方法或构造函数,而不是内部类的类块

/**
 * TODO: Refactor later NOT to extend from JFrame
 */
class MyFrame extends JFrame {

    void initComponents() {
        GridLayout setLayout = new GridLayout(10, 10);

        for (int i = 0; i < 10; i++) {
          ...
        }
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)