

コマンドプロンプトでjavaファイルをjavacでコンパイルして実行しようとしたんですが、以下のエラーが出ました。

[code]

    C:\Users\rqwqk\Desktop\pleiades\workspace\konpairuzikken\src>java wrqrqr
    エラー: メイン・メソッドがクラスwrqrqrで見つかりません。次のようにメイン・メソッドを定義してください。
    
        public static void main(String[] args)
    
    またはJavaFXアプリケーション・クラスは`javafx.application.Application`を拡張する必要があります
    
[/code]

wrqrqr.javaの内容は以下の通りで、実行環境はWindows 7(x64)です。解決方法募集します。

[code]

    public class wrqrqr {
        /**
         * @param args
         */
        public static class helloworld{
            public static void main(String[] args) {
                // TODO 自動生成されたメソッド・スタブ
                int x;
                x=5;
                System.out.println(x);
            }
        }
    }
    
[/code]


CC BY-SA 3.0
2015-02-13T16:29:01.697
6461
2015-02-13T23:11:48.157
2015-02-13T20:36:16.123
3068
8269
question
java
javafx.application.applicationを拡張する必要がありますというエラーがでました


`javafx.application.application`は関係ないですね。  
`public static class helloworld{`と対応する閉じカッコを消せばOKです。


CC BY-SA 3.0
2015-02-13T16:42:20.530
6462
2015-02-13T16:42:20.530
6150
6461
answer


原因は`wrqrqr`クラスに`public static void main(String[] args)`が定義されていない為です。  
ソースコードを下記の様に修正して、コンパイル後に実行すれば、画面に`5`と表示されると思います。

**ソースコード:**

[code]

    public class wrqrqr {
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO 自動生成されたメソッド・スタブ
            int x;
            x=5;
            System.out.println(x);
        }
    }
    
[/code]

**コマンド:**

[code]

    javac -encoding UTF-8 wrqrqr.java
    java wrqrqr
    5
    
[/code]

**余談:**

ソースコードがBOM(byte order mark)付きのUTF-8の場合、コンパイル時にエラーが出るかと思います。  
<https://stackoverflow.com/a/28043356/4366193>

ツールやエディタ等でBOMを削除してください。  
PowerShellの場合、下記のコマンドでBOMを削除できます。

[code]

    [System.IO.File]::WriteAllText((Get-Location).Path + '\wrqrqr.java', (Get-Content .\wrqrqr.java -Encoding UTF8 -Raw))
    
[/code]


CC BY-SA 3.0
2015-02-13T17:38:23.080
6463
2015-02-13T19:56:44.450
2017-05-23T12:38:56.467
-1
3068
6461
answer

[code]

    java wrqrqr$helloworld
    
[/code]

or

[code]

    java wrqrqr\$helloworld
    
[/code]


CC BY-SA 3.0
2015-02-13T23:11:48.157
6465
2015-02-13T23:11:48.157
4978
6461
answer