1. ホーム
  2. java

[解決済み] forループでエラー "型の不正な開始" が発生する

2022-02-08 18:47:06

質問

10×10の行列を作り、各要素に1か0をランダムに表示するプログラムをjavaで作ろうとしています。以下は、私が今までに作成したものです。

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

私が見る限り、このプログラムは完璧に実行できるはずです。しかし、私が試みるたびに、"不正な型の開始、"特にforループの行を参照する、という内容のことを言います。どなたかトラブルシューティングを手伝っていただけませんか?私はこのようなエラーに遭遇したことがありません。

解決方法は?

内部クラスのクラスブロックではなく、メソッドやコンストラクターなどのコードブロックにコードを配置する必要があります。

/**
 * 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++) {
          ...
        }
    }
    ...
}