str.insert(i, ","); 這句執行完成后,str字符串已經新加了一個逗號,那下一次插入時str位置不是就改變了嗎?
public?class?HelloWorld?{ ??public?static?void?main(String[]?args)?{ ??????//?創建一個空的StringBuilder對象 ??????StringBuilder?str?=?new?StringBuilder();?????? ??????//?追加字符串 ??????str.append("jaewkjldfxmopzdm"); ???? ??????//?從后往前每隔三位插入逗號 ??????for(int?i=str.length()-3;?i>=0;?i-=3) ??????{ ??????????str.insert(i,?","); ??????} ??????//?將StringBuilder對象轉換為String對象并輸出 ??????System.out.print(str.toString()); ?} } str.insert(i,?",");?---?這句執行完成后,str字符串不是已經新加了一個逗號嗎,那下一次插入str位置不是就改變了嗎?
2019-03-08
按教程的說法,str是不變類,stringbuilder是一直變的類。str插入以后不變還能理解。為啥stringbuilder會不變呢?
2019-02-01
1樓不確定,23樓感覺是在放狗屁
2019-01-16
其實我覺得樓主想問的是為什么是 i-=3,中間不是插入了一個逗號嗎?也就是說逗號是在 i 的前一個位置(即,i+1的位置), 所以下一個逗號不應該是插在 i-4 的位置嗎?為什么是i-3的位置呢?
2018-08-07
int
?i=str.length()-
3
;? 就第一次執行。 后來插入時的長度雖然變了? 但插入的是字符串后面,與前面的位置沒有關系,所以按照以前的長度插入時不會有問題的
2018-07-29
str的長度雖然變了,但是for循環的
int
?i=str.length()-
3中的“i”只 和初始的字符串長度有關,和str變化后的長度無關
2018-07-28
變啊? ? 在打逗號的哪個位置再3? ?然后再打逗號