我试图检查我的String中是否有辅音。 我得到的错误是:"运营商||不能应用于' boolean',' char'" 这是我的代码:
for(int i=0;i<8;i++){
if(bezeichnung.charAt(i) == 'b'||'c'||'d'||'f'||'g'||'h'||'j'||'k'||'l'||'m'||'n'||'p'||'q'||'r'||'s'||'t'||'v'||'w'||'x'||'y'||'z'){
//do something
}
}
答案 0 :(得分:6)
如果您想使用||
,则需要完整地写出条件:
if (bezeichnung.charAt(i) == 'b' || bezeichnung.charAt(i) == 'c'
|| bezeichnung.charAt(i) == 'd' ...
或者你可以找到一种更简洁地表达它的方法:
if ("bcdfghjklmnpqrstvwxyz".indexOf(bezeichnung.charAt(i))>=0) {
...
}
答案 1 :(得分:0)
保持代码与您拥有的风格相同,您必须
for(int i=0;i<8;i++){
if(bezeichnung.charAt(i) == 'b'|| bezeichnung.charAt(i) == 'c'||bezeichnung.charAt(i) =='d) // continue this for all your cases
//do something
}
}
如果你必须有这么长的条件陈述 - 我会调查其他方法来完成你想要达到的任务
答案 2 :(得分:0)
您可以使用正则表达式。
for(int i=0;i<8;i++){
String regex = ".*[a-zA-Z].*";
if(bezeichnung.charAt(i).matches(regex)){
//do something
}
}
答案 3 :(得分:0)
你不能像这样使用OR运算符。
对于每个角色,您必须单独检查条件。
for(int i=0;i<8;i++)
{
if(bezeichnung.charAt(i) == 'b' || bezeichnung.charAt(i) == 'c' || bezeichnung.charAt(i) == 'd' || bezeichnung.charAt(i) == 'f')
{
//do something
}
}