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

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

這個循環為啥出來的不一樣啊

public class HelloWorld {

? ? public static void main(String[] args) {

// 創建一個空的StringBuilder對象

StringBuilder str = new StringBuilder();

? ? ? ??

// 追加字符串

str.append("jaewkjldfxmopzdm");

? ? ? ? // 從后往前每隔三位插入逗號

? ? ? ? for(int i=1;i<=5;i++){

str.insert((str.length()-(i*3)),",");

? ? ? ? }

? ? ? ??

? ? ? ? // 將StringBuilder對象轉換為String對象并輸出

System.out.print(str.toString());

}

}

jaewk,ji,df,xm,op,zdm



正在回答

2 回答

插入之后 長度增加,減去的應該是三個字母和逗號的長度,這么寫不嚴謹 i的取值范圍得首先計算一下吧?。?!

用倒敘的方法 sb.length 每次減去三

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

莫志偉 提問者

我不是糾結這個,你看我新提的問題
2018-10-17 回復 有任何疑惑可以回復我~
#2

劉老A 回復 莫志偉 提問者

因為每運行一次,str.length()都會因為插入了“,”符號而增大1,不信你可以在循環里加一句System.out.println(str.length());看看。 你可以改為for(int i=str.length()-3;i>=0;i=i-3){ str.insert(i,",");} 或者 for(int i=1;i<=5;i++){ str.insert((str.length()-(i*3)-i+1),",");}
2018-11-04 回復 有任何疑惑可以回復我~
#3

慕少7989698 回復 劉老A

-i+1什么意思啊
2018-12-11 回復 有任何疑惑可以回復我~

//創建一個StringBuilder

StringBuilder sb = new StringBuilder();

sb.append("jaewkjldfxmopzdm");

for(int i =0;i<=5;i++) {

sb.insert(sb.length()-(i*4), ",");

}

System.out.println(sb.toString());


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

莫志偉 提問者

不對啊
2018-10-17 回復 有任何疑惑可以回復我~
#2

魈小混球 回復 莫志偉 提問者

j,aew,kjl,dfx,mop,zdm,我這樣運行的結果。。。
2018-10-17 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這個循環為啥出來的不一樣啊

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

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

幫助反饋 APP下載

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

公眾號

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