课程
/后端开发
/Java
/Java入门第三季
循环内变量的改变方式为什么是i=i-3而不是i=i-4?每次循环后字符串都多加了一个字符啊,为什么变量改变方式还是i-3?
2017-02-12
源自:Java入门第三季 2-6
正在回答
i= i-3 可以理解为每循环一次,定位的位置向前移动三个,并在此位置加一个逗号。
每加一个字符,字符串的长度加一,可以理解为字符串向后张长了一位(贪吃蛇既视感~),但 i 所定位的位置是向前移动的,i 所在位置的前面的字符所在位置都没有发生改变。所以每次减3(向前移动三个位置)没问题啊。但如果题目要求是从左到右加逗号就稍微麻烦了……
张小小白 提问者
for(int i=3;i<str.length();i=i+4){
str.insert(i,",");
从左向右加逗号的
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
3 回答int i=str.length()-3; i>=0; i=i-3 为什么是i>=0
4 回答为什么 i 的初始值是str.length()-3,而不是str.length()-4呢?
4 回答从左到右插入不懂,for循环for(int i = 3; i <str.length(); i=i+4)求解释
2 回答for(int i = str.length();i > 0;i--){ if(i%3 == 0){ str.insert(str.length()-i,","); } }
6 回答 for(int i = str.length()-1;i>3;i-3)报错error: not a statement