为了账号安全,请及时绑定邮箱和手机立即绑定

str插入一个逗号后,长度已经变了,为什么仍旧按照原先的字符长度进行插入呢?

str插入一个逗号后,长度已经变了,为什么仍旧按照原先的字符长度进行插入呢

比如 0123456789每隔三位插入逗号 ,分别是 2,5,8

第一次 在2位插入

012,3456789

现在已经变了

下次应该在6位插入

012,345,6789



正在回答

3 回答

如果是正序插入,则第1次插入的index为3,第2次是(3+1)+3, 第三次是((3+1+3)+1)+3... 

程序为:

for(int i=3;i<str.length();i+3){

    str.insert(i,',');

    i++;

}




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

代码及执行过程如下:

for(int i = str.length()-3; i >=0 ; i=i-3){
    str.insert(i,",");   
}

如果str = "0123456789":

在第一次执行的时候i = str.length()-3,那么此时i的值为10-3等于7,那么加入逗号的时候,会在7的位置加入运行结果后应该是0123456,789

在第二次执行的时候会执行i=i-3这条语句,那么此时i的值为7-3等于4,那么加入逗号的时候,会在4的位置加入,运行结果应该是0123,456,789

后面的依次类推

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

ENCOUTER

人家问的是正序插入啊 从后往前插不影响,但是从前往后就不一样了呀
2015-04-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

str插入一个逗号后,长度已经变了,为什么仍旧按照原先的字符长度进行插入呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信