java在给定字符串中查找元音的第一个索引,否则如果没有,则返回1
因此,我正在尝试为编码考试手工编写代码,其中一个示例问题是找到给定字符串中第一个元音的索引,如果没有,则返回-1
我试着把它放到eclipse中并调试了它。我不明白为什么这样不行。我一直得到101分作为输出。最初我没有使用索引变量,而是使用if语句返回单词。查拉特(一)。我试着改变它,但它什么也没做
(为了考试,他们希望我们只使用小写元音)
另外,如果你必须写这篇文章,那么写这篇文章的更简单的方法是什么
public static int firstVowel(String word) {
for (int i = 0; i < word.length(); i++) {
int index;
if (word.charAt(i) == 'a' || word.charAt(i) == 'e' || word.charAt(i) == 'i' || word.charAt(i) == 'o'
|| word.charAt(i) == 'u') {
index = word.charAt(i);
return index;
}
}
return -1;
}
# 1 楼答案
你得到了字符的整数表示,你实际上想要返回i,因为这显示了你找到字符的位置
# 2 楼答案
这里的问题是,您正在存储单词。charAt(i)返回一个字符值,然后放入存储整数的索引中
我相信当你在一个整数变量中存储一个字符值时,你真正存储的是字符的ASCII值。101代表ASCII表上的“e”,所以这里发生的是在索引i处检测到一个“e”,然后将其ASCII值存储在索引中并返回索引
要解决问题,根本不需要索引变量。你只需要在if语句中返回i