0

これが私の本からのこの単純なコードで、netbeansとコマンドプロンプトを介して実行されるコンパイルバージョン(.class)バージョンでエラーメッセージを生成します。

エラーメッセージ

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at intocm.Intocm.main(Intocm.java:17)

インチをセンチメートルに変換する簡単なプログラム。

package intocm;

public class Intocm {

    public static void main(String[] args) {
        // TODO code application logic here
        double inches;
        inches = Double.valueOf(args[0]).doubleValue();
        double cm;
        cm = inches * 2.54;
        System.out.println(cm + "Centimeters");
    }
}

エラーの原因となる行は

inches = Double.valueOf(args[0]).doubleValue();

このエラーの原因となるこの配列「args」がなぜかわかりません。これを理解するのに役立ててください。

ありがとうございました。

4

3 に答える 3

5

コマンドライン引数を渡していない。args[0]コマンドライン引数を期待しています。

コマンドラインから実行している場合は、次のことを試してください。

java Intocm 12.0

日食で

Run---> Run Configuration--->
                            Arguments Tab--->
                                            give program arguments-->
                                                                  apply---> run
于 2013-03-26T21:53:12.810 に答える
1

argsクラスのメソッドのパラメーターは、mainコマンドライン引数によって提供されます。コマンドライン引数を使用してjarを呼び出さないため、配列にゼロ要素はありません。

于 2013-03-26T21:53:19.450 に答える
1

args[0]が原因である場合はArrayIndexOutOfBoundsException、コマンドラインパラメータを指定していません。テストargs.length; の場合0は、エラーを処理します。

于 2013-03-26T21:53:38.387 に答える