亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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位置不是就改變了嗎?

正在回答

6 回答

按教程的說法,str是不變類,stringbuilder是一直變的類。str插入以后不變還能理解。為啥stringbuilder會不變呢?

0 回復 有任何疑惑可以回復我~
#1

亦菲大魔王

我覺得可能從前往后插有問題,從后往前插沒問題
2019-03-08 回復 有任何疑惑可以回復我~

1樓不確定,23樓感覺是在放狗屁

0 回復 有任何疑惑可以回復我~

其實我覺得樓主想問的是為什么是 i-=3,中間不是插入了一個逗號嗎?也就是說逗號是在 i 的前一個位置(即,i+1的位置), 所以下一個逗號不應該是插在 i-4 的位置嗎?為什么是i-3的位置呢?

0 回復 有任何疑惑可以回復我~

int?i=str.length()-3;? 就第一次執行。 后來插入時的長度雖然變了? 但插入的是字符串后面,與前面的位置沒有關系,所以按照以前的長度插入時不會有問題的

0 回復 有任何疑惑可以回復我~

str的長度雖然變了,但是for循環的int?i=str.length()-3中的“i”只 和初始的字符串長度有關,和str變化后的長度無關

1 回復 有任何疑惑可以回復我~

變啊? ? 在打逗號的哪個位置再3? ?然后再打逗號

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

str.insert(i, ","); 這句執行完成后,str字符串已經新加了一個逗號,那下一次插入時str位置不是就改變了嗎?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號