如何打印字符串的每三个字符?JAVA
我正在尝试打印字符串的每3个字符,因此示例如下:如何打印字符串的每三个字符?JAVA,java,Java,我正在尝试打印字符串的每3个字符,因此示例如下: 123456返回36 但是我下面的代码返回14 公共字符串getEveryThird(){ 字符串newString=“”; 对于(int i=0;i
123456
返回36
但是我下面的代码返回14
公共字符串getEveryThird(){
字符串newString=“”;
对于(int i=0;i
很好的尝试。唯一的问题是您选择了错误的除法余数,因为元素从0开始
尝试以下条件:
if (i % 3 == 2)
它返回
14
,因为循环从0
开始,0%0
等于0
。
然后,当它到达数字4
时,索引i
等于3
,再次3%3=0
尝试以下方法:
if((i+1) % 3 == 0){
newString += (string.charAt(i));
}
您当前的方法在剩余的时间内关闭(如前所述),但是有一个更快的方法可用;不要迭代每个字符,而是从第三个字符开始,在每次迭代时将索引增加三。请记住,第三个字符位于索引2(
0
,1
,2
)。另外,最好在串接上使用StringBuilder
(因为JavaString
是不可变的)。像
StringBuilder sb=新建StringBuilder();
对于(int i=2;i
这是一个重复的问题。请参考这个
StringBuilder sb = new StringBuilder();
for (int i = 2; i < string.length(); i += 3) {
sb.append(string.charAt(i));
}
return sb.toString();