如何检查字符是否为元音?

这段Java代码给我带来了麻烦:

    String word = <Uses an input>

int y = 3;

char z;

do {

z = word.charAt(y);

if (z!='a' || z!='e' || z!='i' || z!='o' || z!='u')) {

for (int i = 0; i==y; i++) {

wordT = wordT + word.charAt(i);

} break;

}

} while(true);

我想检查单词的第三个字母是否是非元音,如果是,我希望它返回非元音和它前面的任何字符。如果是元音,则检查字符串中的下一个字母;如果它也是元音,则检查下一个字母,直到找到非元音为止。

例:

单词= Jaemeas,然后wordT必须= Jaem

范例2:

word = Jaeoimus,然后wordT必须= Jaeoim

问题在于我的if陈述,我想不出如何检查那一行中的所有元音。

回答:

您的情况有缺陷。考虑一下更简单的版本

z != 'a' || z != 'e'

如果z为,'a'则后半部分将为真,因为z不为真'e'(即整个条件为真),如果z为,'e'则上半部分将为真,因为z不为真'a'(同样,整个条件为真)。当然,如果z两者都不'a'是,'e'那么两个部分都将成立。换句话说,您的情况永远不会为假!

您可能希望&&在那儿:

z != 'a' && z != 'e' && ...

也许:

"aeiou".indexOf(z) < 0

以上是 如何检查字符是否为元音? 的全部内容, 来源链接: utcz.com/qa/414661.html

回到顶部