- 締切済み
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]; というエラーが出てしまいます。 これを正常に動作させるにはどう改良すれば良いか教えて頂けないでしょうか。 また変更を行わなければならない理由も教えていただけると有難いです。 プログラミングを始めたばかりで行き詰っています。 回答お待ちしております。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- auty
- ベストアンサー率58% (284/486)
・ コマンドラインの引数は、文字列の配列です。 ・ 整数として扱うには、int型に変換する必要があります。 int value = Integer.parseInt(args[0]);
- himajin100000
- ベストアンサー率54% (1660/3060)
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()); } } }
お礼
回答ありがとうございます。 勉強になりました。
お礼
回答ありがとうございます。 勉強になりました。