• 締切済み

JAVAのコンパイルについて教えてください。

public class exam05d { public static void main(String[] args) { int value=args[0]; if(value==0) { System.out.println("valueの値は0"); } else { System.out.println("valueの値は0以外"); } } } 上記のプログラムをコンパイルすると exam05d.java:3: 互換性のない型 検出値:java.lang.String 期待値:int int value=args[0]; というエラーが出てしまいます。 これを正常に動作させるにはどう改良すれば良いか教えて頂けないでしょうか。 また変更を行わなければならない理由も教えていただけると有難いです。 プログラミングを始めたばかりで行き詰っています。 回答お待ちしております。

みんなの回答

  • auty
  • ベストアンサー率58% (284/486)
回答No.2

・ コマンドラインの引数は、文字列の配列です。 ・ 整数として扱うには、int型に変換する必要があります。 int value = Integer.parseInt(args[0]);

raianX9
質問者

お礼

回答ありがとうございます。 勉強になりました。

回答No.1

public class exam05d { public static void main(String[] args) { try{ //継承したクラス以外は自動的に変換されない...と思う int value=Integer.parseInt(args[0]); if(value==0) { System.out.println("valueの値は0"); } else { System.out.println("valueの値は0以外"); } }catch(java.lang.NumberFormatException e){ //そもそもコマンドライン引数が数値に出来なかった時 System.out.println(e.toString()); }catch(java.lang.ArrayIndexOutOfBoundsException e){ //引数の数が足りない時 System.out.println(e.toString()); } } }

raianX9
質問者

お礼

回答ありがとうございます。 勉強になりました。

関連するQ&A