为什么我会得到索引超出范围的异常

1 java for-loop

我使用一个简单的逻辑来使用for循环来反转一个字符串,但是我得到一个超出范围的索引异常,这对我来说没有任何意义

public class ReverseName {

/**
 * @param args
 */
public static void main(String[] args) {

    String name = "Arnold Schwarzenegger";

    for(int i = name.length(); i >=0; i--) {
        System.out.print(name.charAt(i));
    }
}

}
Run Code Online (Sandbox Code Playgroud)

rge*_*man 8

在Java中的索引,从运行0length() - 1,所以开始的指数ilength()是一次性的字符串的结尾,造成你IndexOutOfBoundsException.

尝试

for(int i = name.length() - 1; i >=0; i--) {
Run Code Online (Sandbox Code Playgroud)