读书人

一路面试题的困惑

发布时间: 2012-07-23 09:42:19 作者: rapoo

一道面试题的困惑

今天面试题有道编程题:题目倒是很简单,就是倒序输出一个字符串。自己很快就写出来了,但是回来把程序运行了一遍没想到出EXCEPTION了,数组越界,自己看l了下在不解。在此把程序贴出来献丑了。望朋友给指点明经。

public class receiveMethod {
?private String returnString(String str)
?{
??StringBuffer buffer = new StringBuffer();
??for(int i=str.trim().length()-1;i<str.trim().length();i--)
??{
//?if(i==-1);??
????//break;

???buffer.append(str.charAt(i));
??}
??System.err.println(buffer.toString());
??return buffer.toString();
?}

?public static void main(String []args)
?{
??String str="4340";
??new receiveMethod().returnString(str);
?}
}

注释部分是我想到的解决办法。但是我实在不理解。为什么会下标越界。谁能解释下啊

1 楼 treemanfm 2012-02-11 i<str.trim().length()


循环终止条件有问题。。

应该为 i >= 0

读书人网 >其他相关

热点推荐