-3

こんにちは、私は Java 学習者で、このプログラムを 2 つの数値を加算するために作成しようとしています。これを実行しているときに、このエラーメッセージが表示されます..

スレッド「メイン」の例外 java.lang.ArrayIndexOutOfBoundsException: addnumber.main(addnumber.java:16) で 0 Java 結果: 1

public class addnumber{
   public static void main(String[] args) {
        String x,y;
        int a,b,c;
        x=args[0];
        y=args[1];
        a=Integer.parseInt(x);
        b=Integer.parseInt(y);
        c=a+b;
        System.out.println(c);
   }
}

Scanner クラスまたは文字列ビルダー クラスを使用できることはわかっていますが、このコードの問題点は何ですか?

4

3 に答える 3

1

args-array を使用する場合は、コンソールなどの外部からプログラムにいくつかのパラメーターを与える必要があります。

コンソールを開き、.java ファイルがあるディレクトリに移動し、手動でコンパイルします。

javac Addnumber.java

そこに .class ファイルが表示されるはずです。

次のような呼び出しを書くよりも:

java Addnumber 5 9 

引数は 5 と 9 になります。

クラス名も大文字で書く

于 2013-09-25T14:11:56.580 に答える
0

Eclipse またはその他の作業ツールを使用している場合。次に、実行構成引数を設定する必要があります。

このコードをコマンド ラインで実行するとします。次に、以下のコマンドを使用してこのコードを実行する必要があります。

java addnumber 2 4
于 2013-09-25T14:18:48.507 に答える
0

良い質問です。問題は にString[] argsあります。この問題は、このパラメータの文字列としての初期値を調べることにつながりますか? つまり、IDE はどのようにメイン メソッドを呼び出すのでしょうか。このコードを Netbeans または Eclipse でデフォルトで実行すると、次のエラーが出力されます。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:

デフォルトでは、長さ 0 の文字列の配列を使用して IDE 呼び出しメソッドが実行されるためです。

TheNameOfClass.main(new String[0]) // if you run it in some IDEs
>java Addnumber  // cmd with no args?

x=args[0];あなたの場合、呼び出して、配列内の範囲外または配列の長さより大きいアイテムを使用したいため、例外がインラインで発生します。

これで、Eclipse の例として構成して、必要に応じていくつかの文字列値を渡すことができます。または、「コマンド プロンプト」で Java クラス マニュアルをコンパイルして実行し、いくつかの文字列値を渡す必要があります。

>javac Addnumber.java // compile it 
>java Addnumber 1 77  // run it and passs some values to array in main method
于 2013-09-25T14:48:09.400 に答える