0

私が使用できる (input==(letters[i]-'c')) に似たものがあるかどうか知りたいです。入力した内容が意味をなさないことはわかっていますが、それに似たものを作成しようとしています。ユーザーの入力が配列内の c 以外の場合は最初のメッセージが表示され、c の場合は 2 番目のメッセージが表示されます。どうにかしてcを一時的に配列から除外し、プログラムに他のすべての要素をチェックさせたいだけです...

char []letters={'a','b','c','d'};
//input is user input

for(int i=0;i<letters.length<;i++)
   if(input==(letters[i]-'c'))
   {
     system.out.print("input might be a,b,d but not c");
   }
   else if(input=='c')
   {
     system.out.print("input is c");
     break;
   }
4

4 に答える 4

4

次のことを試してください。

Arrays.sort(letters);
if (Arrays.binarySearch(letters, 'c') >= 0) {
    // contains 'c'
} else {
    // doesn't contain 'c'
}

binarySearchの呼び出しでは、最初に配列をソートする必要があることに注意してくださいsort

于 2012-10-01T08:22:39.020 に答える
0
String str=Arrays.toString(letters).replaceAll("\\s*\\[*,*\\]*", "");
if(input=='c') {
    system.out.println("input is c");
}
else if(str.contains(""+input)) {
    system.out.print("input might be a,b,d but not c");
}
于 2012-10-01T08:47:02.290 に答える
0

通常、テキストに文字列を使用します。

//input is user input
String letters = "abcd";

if (letters.contains("c")) 
    System.out.print("input contains c");
else
    System.out.print("input doesn't contain c");
于 2012-10-01T08:23:40.427 に答える
-1

それをリストに変換してから、contains メソッドを使用できます。

これは true または false を返します。これは、if ステートメントで使用できます。

例えば

if (Arrays.asList('a', 'b', 'c').contains('c')) {
   System.out.print("input might be a,b,d but not c");
}
else {
   System.out.print("input is c");
}

(あなたのコードサンプルはコンパイルされません。System大文字が必要です)

于 2012-10-01T08:18:08.300 に答える