0

3 つの引数を取り、文字列を返す JAR ファイルを作成しましたが、コードは引数の値が正しい場合でも認識しないようです。

引数を割り当てます。

if (args.length > 1)
 {
    raftcode = args[0];
    Selection =args[1];
    Option = args[2];
    System.out.println("Getting arguments");

 }

値が正しいことを確認しましたが、プログラムが if ステートメントに入ることはありません

if (Selection == "Sightings")
{  
            //Get sightings text
}

else if (Selection == "Captures")
{
            //Get captures text
}

else if (Selection == "Myrafts")
{
            //Get my rafts text

}
else if (Selection == "Other")
 {
            // Get other text

}

引数なしでコードを実行すると、デフォルトのテスト変数を使用して文字列が返され、引数値を出力できます。

何が間違っているかについてのアドバイスは素晴らしいでしょう:)

4

2 に答える 2

3

以下.equalsではなく、使用する必要があります==

if ("Sightings".equals(Selection))
{  
        //Get sightings text
}
于 2013-06-19T18:25:22.617 に答える
2

他の人が言ったように、文字列を.equalsnotと比較する必要があり==ます。==どこでも使用すれば文字列を比較できますString.internが、単一のインスタンスを忘れると失敗するため、これは依然として危険です。

コマンドラインパラメーターを広範囲に使用している場合は、Commons CLIとして見てください。

于 2013-06-19T18:36:18.883 に答える