标签:loops for-loop iteration charat java
我正在通过CodingBat的Java练习进行工作,遇到了CountXX problem,它计算xx在字符串中出现的次数.这是我解决的方法(我没想到它会起作用):
int countXX(String str) {
int count = 0;
for (int i = 0; i < str.length() - 1; i++) {
if ((str.charAt(i) == 'x') && (str.charAt(i+1) == 'x'))
count++;
}
return count;
}
我的问题是:for循环的迭代如何“向前看”下一个迭代?在这种情况下,它可以看到一个字符的值以及后续迭代的字符.如果它可以展望未来的迭代,那岂不是“整数倍”的“失败点”吗? (我肯定缺少什么!)
解决方法:
迭代不是“向前看”或类似的事情.实际上,for循环不知道您要遍历字符串的索引.它所知道的就是您想要它
>在开始迭代之前将i设置为0
>当我变得大于某个数字时结束迭代,并且
>每次迭代后将i加1.
就是这样将i变量作为字符串的索引的任何解释都在循环体内完成.
一旦进入循环,您就可以指望我处于某个范围内(即,从零(包括零)到str.length()-1,不包括在内).这使我成为从字符串中获取两个相邻字符的合适人选,这正是您的代码所要做的.
标签:loops,for-loop,iteration,charat,java 来源: https://codeday.me/bug/20191028/1953089.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。