2011-12-07 21 views
-2

をスローします。シンプルなコマンドラインプログラムは、私はそれが簡単な質問だ知っているが、それはいくつかの異常な問題を作成し、例外

public static void main(String [] st) { 

    System.out.println("\n\n Arg: :"+st.length); 
    for(int i=0;i<st.length;i++) { 
     System.out.println("ARGUMENTS: "+st[i]); 
    } 
} 

このプログラムのみ印刷 "のArg:0" を出力

として、私はまた

String s= st[0]; 
System.out.println("\n String: "+s); 

を試してみましたが、それは例外がスローされます。 だから私を助けてください。

+9

問題は何ですか?引数はありません。あなたはコマンドラインで何かを渡していますか? –

+0

このプログラムは前に実行されましたが、今は問題が発生し、st []を初期化する必要はありません。 – Deep

+0

NullPointException例外を貼り付けることができますか? –

答えて

0

このような文字列がない場合、インデックス0の文字列にアクセスしようとしているというインデックス外の例外があると不平を言っていると思います。あなたがこれをうまくでき

つの方法は慎重に(あなたはそれが何を意味するのか知っていると仮定した場合)またはこれより明確になるだろう、デバッガでコードをステップ実行例外を見ることです。

+0

今、EclipseでJDKの問題設定を行っています。すべての答えをありがとう。 – Deep

1

あなたはstが空になり、それを起動したとき、あなたがプログラムに任意のパラメータを渡すされていない場合。したがって、配列内の最初の項目を参照しようとすると、NullPointerExceptionがスローされます。

+0

最近も(のString:ST)のためにマイケル・ブルーワー・デイヴィスで示唆したように、これを試してください \t { のSystem.out.println(s)は、 \t \t \t}しかし、それはEnythigは表示されません。 – Deep

1

command line argsarrays上のチュートリアルを参照してください。

特にCと他の言語の違いは、プログラム名そのものが引数の1つではないため、C main関数は常に少なくとも1つの引数を持ちますが、Java mainはありません。

関連する問題