请帮帮忙,我在下面的代码这是为什么这个循环抛出IndexOutOfBoundsException?
public static void main (String[] args){
String st = "harpreet";
for(int i=1; i<=st.length(); i++){
System.out.print(st.charAt(i));
}
}
请帮帮忙,我在下面的代码这是为什么这个循环抛出IndexOutOfBoundsException?
public static void main (String[] args){
String st = "harpreet";
for(int i=1; i<=st.length(); i++){
System.out.print(st.charAt(i));
}
}
数组偏移越来越指数走出界外的从0开始,而不是1。如果你从1开始,你遗漏偏移0。此外,还要比较< ST。长度(),否则你走出界限
for(int i=0; i< st.length(); i++){
数组索引从0开始,但你计算字符串的长度从1开始,如“harpreet”长度为8,但“h”的字母索引为0
IndexOutOfBoundException是一个运行时异常和它发生时你正试图到达不存在的数组。
你的代码应该是 -
for(int i=0; i< st.length(); i++)
提示:数组索引从零,而不是一个开始。 – NPE 2014-09-18 19:24:52
java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:8 \t at java.lang.String.charAt(Unknown Source) – 2014-09-18 19:25:40
'i
2014-09-18 19:26:27