从后往前每隔三位插入逗号与从前往后每隔三位加一个逗号为什么不同
// 从后往前每隔三位插入逗号
for (int i=str.length()-3;i>0;i=i-3)
// 从前往后每隔三位插入逗号
for (int i=3;i<str.length();i=i+4)
// 从后往前每隔三位插入逗号
for (int i=str.length()-3;i>0;i=i-3)
// 从前往后每隔三位插入逗号
for (int i=3;i<str.length();i=i+4)
2016-08-30
// 从后往前每隔三位插入逗号 for(int i=str.length()-3;i>0;i=i-3){ //i的位置 System.out.println(i); str.insert(i,","); System.out.print(str.toString()); //str的长度 System.out.println(" "+str.length()); } // 从前往后每隔三位插入逗号 for(int i=3;i<str.length();i=i+4){ //i的位置 System.out.println(i); str.insert(i,","); System.out.print(str.toString()); //str的长度 System.out.println(" "+str.length()); }
首先这个插入是在第几个数之后插入,记住是之后插入。
然后从后往前,int i=str.length();这个是初始变量,所以只会执行一次。让你想,比如我在1234567,在4后面插入一个顿号,这个时候初始长度是7,7-3=4,所以在长度为4的地方插入是不是变成了1234,567,这个时候再来一次i-3=4-4=1,所以从第一个数之后插入。因为每次插入是从前往后数 的方法,每次顿号是在你要插入的数之后,所以没有影响。
反之从前往后插入,那么就是i+4,这个时候你在第三位插入一个一个顿号,从前往后数,那么要多加一个顿号的位置,所以是i+4;
我的理解是这样 不知道真确不真确
举报