有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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;

}

共 (2) 个答案

  1. # 1 楼答案

    你得到了字符的整数表示,你实际上想要返回i,因为这显示了你找到字符的位置

  2. # 2 楼答案

    这里的问题是,您正在存储单词。charAt(i)返回一个字符值,然后放入存储整数的索引中

    我相信当你在一个整数变量中存储一个字符值时,你真正存储的是字符的ASCII值。101代表ASCII表上的“e”,所以这里发生的是在索引i处检测到一个“e”,然后将其ASCII值存储在索引中并返回索引

    要解决问题,根本不需要索引变量。你只需要在if语句中返回i