删除子串缓冲区会抛出错误?

时间:2014-09-28 19:10:17

标签: java stringbuffer

今天是我编程世界的第一天我正在努力学习java所以请原谅我这些问题

删除stringbuffer对象会抛出错误?请帮我修复它,我的代码在下面

    class Demo 
{
   public static void main(String[] args) 
{
    StringBuffer sb=new StringBuffer(); //default 16

       sb.append("abc");
       sb.append("xyz");
       sb.append("123");
       System.out.println("before delete():"+sb);
       sb.delete(3,6);
       System.out.println("after delete():"+sb);
       sb.delete(99);                           //here error please help?
      System.out.println("after delete():"+sb);
  }
}

2 个答案:

答案 0 :(得分:1)

delete(int)类中没有定义StringBuffer方法。

必须是delete(int, int)。 StringBuffer类提供的另一种方法是deleteCharAt(int)

此外,您的字符串缓冲区对象在第99个索引处没有任何内容。即使您使用deleteCharAt(int),也会抛出StringIndexOutOfBoundsException

答案 1 :(得分:0)

我认为没有一个参数的删除方法。您正在调用不存在的方法。

StringBuffer