How do I check if a char is a vowel?(如何检查字符是否为元音?)
问题描述
这段 Java 代码给我带来了麻烦:
This Java code is giving me trouble:
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);
我想检查单词的第三个字母是否是非元音,如果是,我希望它返回非元音及其前面的任何字符.如果是元音,则检查字符串中的下一个字母,如果也是元音,则检查下一个字母,直到找到非元音为止.
I want to check if the third letter of word is a non-vowel, and if it is I want it to return the non-vowel and any characters preceding it. If it is a vowel, it checks the next letter in the string, if it's also a vowel then it checks the next one until it finds a non-vowel.
例子:
word = Jaemeas 然后 wordT 必须 = Jaem
word = Jaemeas then wordT must = Jaem
示例 2:
word=Jaeoimus 然后 wordT 必须 =Jaeoim
word=Jaeoimus then wordT must =Jaeoim
问题在于我的 if 语句,我不知道如何让它检查那一行中的所有元音.
The problem is with my if statement, I can't figure out how to make it check all the vowels in that one line.
推荐答案
你的情况有问题.想想更简单的版本
Your condition is flawed. Think about the simpler version
z != 'a' || z != 'e'
如果 z 是 'a' 则后半部分为真,因为 z 不是 'e' (即整个条件为真),如果 z 为 'e' 则前半部分为真,因为 z 不是 'a' (同样,整个条件为真).当然,如果 z 既不是 'a' 也不是 'e' 那么这两个部分都为真.也就是说,你的条件永远不会是假的!
If z is 'a' then the second half will be true since z is not 'e' (i.e. the whole condition is true), and if z is 'e' then the first half will be true since z is not 'a' (again, whole condition true). Of course, if z is neither 'a' nor 'e' then both parts will be true. In other words, your condition will never be false!
你可能想要 && 代替:
z != 'a' && z != 'e' && ...
或许:
"aeiou".indexOf(z) < 0
这篇关于如何检查字符是否为元音?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何检查字符是否为元音?
基础教程推荐
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
- 如何对 Java Hashmap 中的值求和 2022-01-01
- RabbitMQ:消息保持“未确认"; 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- 存储 20 位数字的数据类型 2022-01-01
- Struts2 URL 无法访问 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
