我想知道是否有类似于(input ==(letters [i] - 'c'))我可以使用的东西。我知道我输入的内容没有意义,但我正在尝试创建类似的东西。如果用户的输入是数组中的任何内容但是c,则显示第一条消息,否则显示第一条消息,然后显示第二条消息。我只是想以某种方式暂时从数组中排除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;
}
答案 0 :(得分:4)
尝试以下方法:
Arrays.sort(letters);
if (Arrays.binarySearch(letters, 'c') >= 0) {
// contains 'c'
} else {
// doesn't contain 'c'
}
请注意,对binarySearch
的调用要求首先对数组进行排序,因此sort
。
答案 1 :(得分: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");
答案 2 :(得分: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");
}
答案 3 :(得分:-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
应该有一个大写字母)