java:字符串索引超出范围:6

时间:2011-12-08 08:27:28

标签: java string exception loops

我的java代码中出现以下错误:

  

线程“main”中的异常java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:6

...发生在以下行:

if (strFactor.charAt(j) == strProduct.charAt(k)) {

以下是代码:

       for (int j=0; 0<=5; j++) {
            same = false;
            for (int k=0; k<=5; k++) {
                if (strFactor.length() == 6 && strProduct.length() == 6) {
                    if (strFactor.charAt(j) == strProduct.charAt(k)) {
                        same = true;
                    }
                }
            }
            if (!same) {
                return false;
            }
        }

任何人都知道为什么索引会超出范围?

4 个答案:

答案 0 :(得分:1)

我不是Java程序员,但0<=5将始终评估为true,因此j到达6(并且如果不是因为该异常,会继续进行)

答案 1 :(得分:1)

for (int j=0; 0<=5; j++) {应为for (int j=0; j<=5; j++) {

答案 2 :(得分:1)

看看你的forloop的第一行。字符串超出范围

for (int j=0; 0<=5; j++) {

纠正这种情况。编码时要小心!!快乐编码

答案 3 :(得分:0)

嘿伙计:你的j_for错了......它应该是(int j = 0; j&lt; = 5; j ++),但你写0 <= 5