循環(huán)里面調(diào)用 str.insert() 方法,每一次插入是否會(huì)立即生效,并且改變str.length()的值?
public class HelloWorld {
? ? public static void main(String[] args) {
// 創(chuàng)建一個(gè)空的StringBuilder對(duì)象
StringBuilder str = new StringBuilder();
// 追加字符串
str.append("jaewkjldfxmopzdm");
? ? ? ? // 從后往前每隔三位插入逗號(hào)
for(int i=str.length()-3; i>0; i-=3){
? ? ? ?str.insert(i, ",");
}
? ? ? ??
? ? ? ??
? ? ? ? // 將StringBuilder對(duì)象轉(zhuǎn)換為String對(duì)象并輸出
System.out.print(str.toString());
}
}
2018-06-12
長度是變的,不過逗號(hào)從后面往前加,位置從前面往后數(shù),而且長度只在第一次賦值的時(shí)候用到,所以長度變化不影響最終結(jié)果.
2018-05-18
字符串長度是變了 不過你一開始設(shè)定的int i = str.length() -3是不會(huì)變的? ?這個(gè)不是隨動(dòng)的? 一開始 i等于 13那就一直是十三了? 就算后面怎么變也是從十三往? 12? 11 ....0走的??
如果是從零開始往后走,走一位加一個(gè)? 那才是無限循環(huán)(也就是++)
2018-05-18
public class StringBuilderll {
? public static void main(String[] args) {
// 創(chuàng)建一個(gè)空的StringBuilder對(duì)象
? ? ? ? StringBuilder str = new StringBuilder();
// 追加字符串
str.append("jaewkjldfxmopzdm");
? ? ? ? // 從后往前每隔三位插入逗號(hào)
for(int i= str.length()-3;i>0;i=i-3)
{
? ? ? ? ?str.insert(i,",");
? ? ? ? ?System.out.print(i+" ");
? ? ? ? ?System.out.println(str.length());
? ? ?//插入“,”長度會(huì)變??!但是不影響for循環(huán)的正確性。因?yàn)槊看尾迦牒笾豢辞懊娴淖帜?,向前走三格,與后面逗號(hào)無關(guān)。
}
/*
13 17
10 18
7 19
4 20
1 21
j,aew,kjl,dfx,mop,zdm
? ? ? ? */
? ? ? ? // 將StringBuilder對(duì)象轉(zhuǎn)換為String對(duì)象并輸出
System.out.print(str.toString());
}
? }
2018-05-18
2018-04-29
同問?。〔迦胫蟮淖址皇亲兞藛??
2018-02-12
str.length()的值是不會(huì)改變的,length指的是數(shù)組長度,數(shù)組不變長度也不會(huì)變啊