2

次のコードがあります。

public class FibonnaciSeries {

    static {
        int first = 0;
        int next = 1;
        int sum = 0;
        System.out.println(first);
        System.out.println(next);
        for (int i = 2; i < 10; i++) {
            sum = next + first;
            first = next;
            next = sum;
            System.out.println(sum);
        }
    }

}

Eclipse で実行しようとすると、実行されません。どうして。?

4

3 に答える 3

2

正しく実行してください -- 静的初期化ブロックからコードを取り出し、静的メイン ブロックに配置します。

public class FibonnaciSeries {

    public static main(String[] args) {
        int first = 0;
        int next = 1;
        int sum = 0;
        System.out.println(first);
        System.out.println(next);
        for (int i = 2; i < 10; i++) {
            sum = next + first;
            first = next;
            next = sum;
            System.out.println(sum);
        }
    }
}

main メソッドの構造に完全に慣れていないため、静的初期化ブロックを使用している可能性があります。Java プログラムには開始点、つまり JVM が「ここから実行を開始する場所」を識別して認識できるメソッドが必要であり、それがメイン メソッドです。クラスにこれらのいずれかを指定し、静的初期化子ブロックを使用する必要がある理由がわかっている場合や、この特定の理由で使用している場合を除き、避けてください。

于 2013-10-27T03:18:14.017 に答える