你在main方法里调用ReplaceStr(content.trim(),output)方法时,content的长度是多少呢?如果长度小于20的话在下面会报数组索引出界的错
for(int i=0;i
}
这里面str.substring(i,i+1)里的i+1=20的话会报错的
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是不是空
while((content = br.readLine()) != null){
ReplaceStr(content.trim(),output);
i++;
output.write("\n");
}
如果你读到的是个空行记录 也就是空字符串 就会引起程序50行的下标越界 str.substring(i,i+1),因为不存在i+1个字符
数组越界了
没问题啊