为什么这个Java代码不起作用?
如何在||
语句中添加$$
或if
之类的逻辑比较来键入char:
System.out.println("Type Text");
txt = ms.next();
size = txt.length();
for (int i = 0; i < size; i++) {
if ((txt.charAt(i)) == ('a'||'b')) {
System.out.println("is the letter A or B");
}
}
答案 0 :(得分:3)
您不能在两个nodeJS
之间指定||
运算符来表示此字符,或者在此处尝试此另一个字符:
char
if ((txt.charAt(i)) == ('a'||'b')) { ...}
是一个逻辑OR,必须放在两个布尔表达式之间,例如:
||
The Operators tutorial是一个非常好的参考,用于总结Java中的运算符(主要是关于它们的描述和优先级)。
为避免重复,您可以引入一个局部变量:
if (txt.charAt(i) == 'a' || txt.charAt(i) == 'b'){
...
}
要指定更多逻辑OR,使用包含有效字符的集合是一种有趣的可能性:
char c = txt.charAt(i);
if (c == 'a' || c == 'b'){
...
}
要提高效果(如果您有许多有效字符),可以使用if (Arrays.asList('a', 'b', 'c').contains(txt.charAt(i)){
...
}
:
Set
如果必须多次使用条件语句,则实例化集合一次更好。