【发布时间】:2013-04-06 07:33:36
【问题描述】:
int length = s.length();
if (length <= 1){
return s;
}
else {
return s.charAt(length) + s.substring(1, length-1) + s.charAt(0);
}
我只是想交换字符串的第一个字母和最后一个字母。
例如。苹果 -> eppla
它编译得很好,并且可以很好地处理一个空字符串或一个只有一个字符的字符串。 但是对于带有多个字符的字符串,它会说:
StringIndexOutOfBoundsException occured - see console for stack trace
这是否意味着我的代码有问题???
【问题讨论】:
-
请记住,长度比字符串中的最后一个元素大一。例如,字符串
word的长度为 4 但 charAt(3) 为 d