需要帮助来理解字符串长度逻辑

4 java string

我试图理解String length()函数在反转字符串时是如何工作的.字符串长度是4然后我需要在下面的工作代码中给出length() - 1.

下面的代码没问题,需要帮助理解长度()

public class MStringReverse {

    String getReverse(String input) {
        System.out.println(input.length());
        String reverse = "";
        for(int i = input.length() - 1; i >= 0; i--) {
            reverse = reverse + input.charAt(i);
        }
        return reverse;
    }

    public static void main(String[] args) {
        MStringReverse mr = new MStringReverse();
        String result = mr.getReverse("Achilis");
        System.out.println(result);
    }
}
Run Code Online (Sandbox Code Playgroud)

Ami*_*era 9

当索引从0, not from 1.因此,如果您有一个长度为String的字符串,4则它0,1,2,3是唯一可能的索引.如果你的指数作为参数提供的charAt()less than 0greater than or equals字符串的长度,那么你会得到StringIndexOutOfBoundsException异常.在这里您可以看到charAt方法的工作原理:

public char charAt(int index) {
    if ((index < 0) || (index >= value.length)) {
        throw new StringIndexOutOfBoundsException(index);
    }
    return value[index];
}
Run Code Online (Sandbox Code Playgroud)


Sam*_*m L 8

那是因为索引从0开始.

charAt(0)是字符1.