java程序 报错 java.lang.StringIndexOutOfBoundsException: String index out of range: 1

2024年11月20日 05:20
有5个网友回答
网友(1):

你在main方法里调用ReplaceStr(content.trim(),output)方法时,content的长度是多少呢?如果长度小于20的话在下面会报数组索引出界的错
for(int i=0;i SwitchStr(str.substring(i, i+1),zoStrmatr,i);
}
这里面str.substring(i,i+1)里的i+1=20的话会报错的

网友(2):

while(rs.next())
{
String max = rs.getString("maxint"); //获得最大的字段
String maxi = max.substring(2,max.length()); //截取子字符串
newmax = "CB" + String.valueOf(Integer.parseInt(maxi) + 1);
}

我估计是不是
String max = rs.getString("maxint"); //获得最大的字段
这句话没有获得到值 导致了 null或者 长度<3
然后下面再 max.substring(2,max.length()); //截取子字符串
就会抛上面的错误
你先确定一下max是不是空

网友(3):

while((content = br.readLine()) != null){
ReplaceStr(content.trim(),output);
i++;
output.write("\n");
}
如果你读到的是个空行记录 也就是空字符串 就会引起程序50行的下标越界 str.substring(i,i+1),因为不存在i+1个字符

网友(4):

数组越界了

网友(5):

没问题啊