0

私の質問は次のとおりです。if ステートメントで検索する一連の値をリストする可能性はありますか? または、これを行うより良い方法はありますか?例えば:

Scanner input=new Scanner (System.in);
String searchTerm=input.next();

if(input==1d,2d,3d,4d,5c,1a,3x,5c,6b){
    // Do stuff
}

編集:申し訳ありませんが、質問が完了していないことに気づきませんでした。今修正しました。

4

8 に答える 8

4
if (!Arrays.asList(1d,2d,3d,4d,5c,1a,3x,5c,6b).contains(input)) {
    // do stuff
}
于 2013-11-06T16:59:34.843 に答える
2

リストを使用することをお勧めします:

  • 検索する値をリストに追加します。
  • 入力が値の 1 つであるかどうかList.contains(Object o) (ドキュメント)を使用して確認します。
于 2013-11-06T17:00:09.673 に答える
1

値からリストを作成し、含まれているかどうかを確認できます

if (list.contains(input))
于 2013-11-06T16:58:35.367 に答える
1

ListそれらをusingArrays.asListおよび useに変換しcontainsます。

if (!Arrays.asList("1d", "2d", "3d", "4d", "5c", "1a", "3x", "5c", "6b").contains(input)) {
    // Do stuff
}
于 2013-11-06T16:59:03.780 に答える
1

if ステートメントを使用して個々の比較を行う必要があります (これは、Java のより高度な機能を使用しない場合です)。複数の値を比較する場合は、Switch ステートメントを使用することをお勧めします。

switch (input){
    case '1d': case '2d': case '3d': case '4d': case '5c': case '1a': case '3x': case '6b':
        //do something
        break;
    default:
        //do something
}
于 2013-11-06T17:00:47.007 に答える
1

値のセットをコレクションに入れます。例えば:

Set<String> invalidInputs = new HashSet<String>();
validInputs.add("1d"); //and all the rest

次に、セットに入力が含まれているかどうかを確認します。

if(!invalidInputs.contains(input) {
    //do stuff
}
于 2013-11-06T16:59:33.577 に答える