Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何比较字符?_Java_Char_Logical Operators - Fatal编程技术网

Java 如何比较字符?

Java 如何比较字符?,java,char,logical-operators,Java,Char,Logical Operators,为什么这个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");

为什么这个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");
    }

}
System.out.println(“键入文本”);
txt=ms.next();
size=txt.length();
对于(int i=0;i
您不能在两个
char
之间指定
|
运算符来表示此字符或另一个字符,请在此处尝试:

if ((txt.charAt(i)) == ('a'||'b')) { ...}
| |
是一种逻辑或,必须置于两个布尔表达式之间,例如:

if (txt.charAt(i) == 'a' || txt.charAt(i) == 'b'){
   ...
}
是总结Java中运算符的一个很好的参考(基本上是关于它们的描述和优先级)。
为了避免重复,可以引入局部变量:

char c = txt.charAt(i);
if (c  == 'a' || c == 'b'){
   ...
}
要指定更多逻辑OR,可以使用包含有效字符的集合:

if (Arrays.asList('a', 'b', 'c').contains(txt.charAt(i)){
   ...
}
为了提高性能(如果您有许多有效字符),可以使用

if (new HashSet<>(Arrays.asList('a', 'b', 'c')).contains(txt.charAt(i)){
   ...
}
if(新的HashSet(Arrays.asList('a','b','c'))包含(txt.charAt(i)){
...
}

如果必须多次使用条件语句,则最好一次实例化集合。

您不能在两个
char
之间指定
|
运算符来表示此字符或另一个字符

if ((txt.charAt(i)) == ('a'||'b')) { ...}
| |
是一种逻辑或,必须置于两个布尔表达式之间,例如:

if (txt.charAt(i) == 'a' || txt.charAt(i) == 'b'){
   ...
}
是总结Java中运算符的一个很好的参考(基本上是关于它们的描述和优先级)。
为了避免重复,可以引入局部变量:

char c = txt.charAt(i);
if (c  == 'a' || c == 'b'){
   ...
}
要指定更多逻辑OR,可以使用包含有效字符的集合:

if (Arrays.asList('a', 'b', 'c').contains(txt.charAt(i)){
   ...
}
为了提高性能(如果您有许多有效字符),可以使用

if (new HashSet<>(Arrays.asList('a', 'b', 'c')).contains(txt.charAt(i)){
   ...
}
if(新的HashSet(Arrays.asList('a','b','c'))包含(txt.charAt(i)){
...
}

如果必须多次使用条件语句,则最好一次实例化集合。

Java不是这样工作的。请阅读有关运算符的信息将If((txt.charAt(i))替换为If('a'| | | | | | | | b'){替换为If(txt.charAt(i))='a'| txt.charAt(i))='b'){
(txt.charAt(i)='a'| | txt.charAt(i)='b'))
.Java不是这样工作的。请阅读有关运算符的信息,将if((txt.charAt(i))==('a'| | | b'){替换为if(txt.charAt(i))='a'| txt.charAt(i))='b'){
(txt.charAt(i)='a'| txt.charAt(i)='b')