数组越界了!
char s=skzc.charAt(i-1); //??可能

解决方案 »

  1.   

    不会啊,我定义的字符串skzc长度为24,
    char s=skzc.charAt(i-1);    即提取出skzc中第i位的字符
    并没有超出数组的范围,为什么会报错??
      

  2.   

    lz检查一下:sbuf1.setCharAt(j,'1');
      

  3.   

    //创建一个初始长度是used的StringBuffer,但他并没实际内容
    //此时sbuf1.lenght()=0
    StringBuffer sbuf1=new StringBuffer(used);
    //此时你在位置j放入字符1,肯定会出现StringIndexOutOfBoundsException错误 
    sbuf1.setCharAt(j,'1');sbuf1.setCharAt(int pos,char c)的使用条件是pos<sbuf1.lenght()~~!!!!
      

  4.   

    //创建一个初始长度是used的StringBuffer,但他并没实际内容应该是初始容量,不是初始长度~~~
      

  5.   

    我的used是从数据库中一个字段得到的字符串,长度为700,
    应该是存放着数据的,不会为空的呀!
    即:
    ......
    String used=null;
    if(rs.next()){
    used=rs.getString("isused");}
    StringBuffer sbuf1=new StringBuffer(used);
    将它转化为StringBuffer 型,
    sbuf1.setCharAt(j,'1')
    对sbuf1的某一位进行处理,这应该是可以的呀!