2014-09-28 77 views
-1

今天是我第一天在编程世界我努力学习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); 
    } 
} 
+1

什么是错误? – 2014-09-28 19:12:16

+0

您正在删除不在那里的第99个字符,除了您期望的异常外,还有什么? – 2014-09-28 19:14:00

回答

1

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

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

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

0

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

StringBuffer