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? ?然后再打逗號