for(int i = 0; i<=name.length; i++) {
System.out.print(name[i] +'\n'); // i goes from 0 to length, Not correct
}
``` `ArrayIndexOutOfBoundsException` 尝试访问不存在的name.length索引元素(数组索引以长度-1结尾)时发生。只要将<=替换为<=就可以解决这个问题。
for(int i = 0; i < name.length; i++) { System.out.print(name[i] +'\n'); // i goes from 0 to length - 1, Correct }
17条答案
按热度按时间wkftcu5l16#
ArrayIndexOutOfBoundsException
意味着您正试图访问不存在或超出此数组界限的数组索引。数组索引从0开始,长度为-1。对你来说
for(int i = 0; i < name.length; i++) {
System.out.print(name[i] +'\n'); // i goes from 0 to length - 1, Correct
}
mzillmmw17#
你越来越
ArrayIndexOutOfBoundsException
由于i<=name.length
部分。name.length
返回字符串的长度name
,也就是3。因此,当您尝试访问name[3]
,它是非法的,并引发异常。解析代码:
它是在java语言规范中定义的:
这个
public final
字段length
,它包含数组的组件数。length
可以是正或零。