看板 java 關於我們 聯絡資訊
※ 引述《appleoxxo (BB)》之銘言: : 寫了一個方法 它的作用是 : 將一個字串索引位置為n的字元若有重複出現 刪除重複出現的字元 : 程式碼如下 : public static StringBuffer common1(String a,int n) : { : StringBuffer sb= new StringBuffer(a); : for(int i =0;i<a.length();i++) : { : if(a.charAt(n)==a.charAt(i)&&n!=i) : { : sb.deleteCharAt(i); : } : } : return sb; : } : ------------------------------------ if a = "aaa", n = 1 Before Loop 1: i = 0 sb.toString() = "aaa" 123 After Loop 1: i = 1 sb.toString() = "aa" 23 After Loop 2: i = 2 sb.toString() = "aa" 23 When Loop 3: sb.delete(i (which is 2)) throws StringIndexOutOfBoundsException 你可以從後面砍回來, 這樣即使 sb 長度縮短也不會影響到接下來的處理... -- 理論上 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.34.3