[英]How can I compare char characters?
為什么此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");
}
}
您不能指定||
在兩個char
之間進行運算符表示此字符或您嘗試在此處輸入的另一個字符:
if ((txt.charAt(i)) == ('a'||'b')) { ...}
||
是邏輯OR,必須將其放置在兩個布爾表達式之間,例如:
if (txt.charAt(i) == 'a' || txt.charAt(i) == 'b'){
...
}
Operators教程是總結Java中運算符的很好的參考(本質上是關於它們的描述和優先級)。
為了避免重復,您可以引入局部變量:
char c = txt.charAt(i);
if (c == 'a' || c == 'b'){
...
}
要指定更多邏輯或,使用包含有效字符的集合是一種有趣的可能性:
if (Arrays.asList('a', 'b', 'c').contains(txt.charAt(i)){
...
}
為了提高性能(如果有許多有效字符),可以使用Set
:
if (new HashSet<>(Arrays.asList('a', 'b', 'c')).contains(txt.charAt(i)){
...
}
如果必須多次使用條件語句,則最好一次實例化集合。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.