2014-09-28 78 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