qq_也许_coqF04
2020-10-21 21:15
for(int i=1;i<str.length();i=i+3){
str.insert(i,",");
}
运行结果是j,ae,wk,jl,df....................为什么这个是隔两个
for(int i=str.length()-3;i>0;i=i-3){
str.insert(i,",");
}
运行结果是j,aew,kjl,dfx,mop,zdm 这个就隔着三个???
StringBuilder str = new StringBuilder();
// 追加字符串
str.append("jaewkjldfxmopzdm");
int length = str.length();
for(int i=length-1;i>0;i--){
if (i%3==0){
str.insert(i-2,",");
}
}
i代表从开头开始数,第i个位置,是从左往右数的。你从左往右插入逗号,从左往右数的时候,逗号就会占一位。
比如第二次循环时,i=4,应该是在第4位,也就是w后面,但是因为第一次循环,多了一个逗号,第四位就成了e后面。
因为你前面插入了逗号,没插入一次前面的长度length() 是在增加的
不知道呀
帮个忙呀
Java入门第三季
409792 学习 · 4340 问题
相似问题