• ベストアンサー

コマンドプロンプトから数値で引数を与える時に出るエラーの対処法について

題名通りなのですが、 コマンドプロンプトで 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 といったエラーが出てしまい、動かすことが出来ません。 どなたか分かる方がいましたら教えていただけるとありがたいです。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

既存のmainメソッドをあまり触りたくない場合は、以下のようなmainメソッドを追加してオーバーロードしちゃえばいいと思う。  static public void main(String... irohanihoheto){   int[] args_int = {Integer.parseInt(irohanihoheto[0])};   Comc1.main(args_int);  } もちろん、どこに追加すればいいかまではいちいち書かなくてもいいよね。 ("1.5.0_11"にて動作確認済。)

newjava
質問者

補足

回答ありがとうございます。 無事動作確認をすることができました。 ありがとうございました。

その他の回答 (1)

noname#49428
noname#49428
回答No.1

public static void main(String[] args) が正解です。 mainの引数の型を変えてはいけません。

newjava
質問者

お礼

回答ありがとうございます。 mainメソッドは引数の型を変えてはいけないんですね・・・。 String型に直してもエラーは出てしまいましたが、 今後も考えるといい勉強になりました。 その後、mainメソッドの引数をString形に直し、 Integer.parseIntを使用することでなんとか動作を確認できました。 ありがとうございました。

関連するQ&A