- ベストアンサー
コマンドプロンプトから数値で引数を与える時に出るエラーの対処法について
題名通りなのですが、 コマンドプロンプトで Java Comc1 10 などと入力した際に引数をきちんと計算してくれる プログラムを組みたいのですが、エラーが出てしまいます。 まずはソースですが、以下のようなものを記述しました。 class Comc1{ public static void main(int[] args){ class InnerClass5{ int a=20; int b=50; void method1(int num){ System.out.println((a*b)/num); } } InnerClass5 ic5 = new InnerClass5(); ic5.method1(args[0]); } } コンパイルは問題なく行えるのですが、 いざ実行した際に Exception in thread "main" java.lang.NoSuchMethodError: main といったエラーが出てしまい、動かすことが出来ません。 どなたか分かる方がいましたら教えていただけるとありがたいです。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
既存のmainメソッドをあまり触りたくない場合は、以下のようなmainメソッドを追加してオーバーロードしちゃえばいいと思う。 static public void main(String... irohanihoheto){ int[] args_int = {Integer.parseInt(irohanihoheto[0])}; Comc1.main(args_int); } もちろん、どこに追加すればいいかまではいちいち書かなくてもいいよね。 ("1.5.0_11"にて動作確認済。)
その他の回答 (1)
public static void main(String[] args) が正解です。 mainの引数の型を変えてはいけません。
お礼
回答ありがとうございます。 mainメソッドは引数の型を変えてはいけないんですね・・・。 String型に直してもエラーは出てしまいましたが、 今後も考えるといい勉強になりました。 その後、mainメソッドの引数をString形に直し、 Integer.parseIntを使用することでなんとか動作を確認できました。 ありがとうございました。
補足
回答ありがとうございます。 無事動作確認をすることができました。 ありがとうございました。