我的java代码中出现了以下错误:
线程“主”
中的java.lang.StringIndexOutOfBoundsException异常:超出范围的字符串索引:6
...which发生在以下行:
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;
}
}有人知道为什么指数会超出范围吗?
发布于 2011-12-08 08:30:16
我不是Java程序员,但0<=5将始终对true进行评估,因此j会到达6 (如果不是因为这个例外,j就会继续运行)。
发布于 2011-12-08 08:31:17
for (int j=0; 0<=5; j++) {应该是for (int j=0; j<=5; j++) {
发布于 2011-12-08 08:31:36
请看您的forloop的第一行。字符串超出界限了。
for (int j=0; 0<=5; j++) {纠正条件。当你编码的时候要小心!快乐编码
https://stackoverflow.com/questions/8428132
复制相似问题