循环,在第二个两个字符后面的字符串中移动第一个字符,并重复每3个字符

时间:2015-10-26 02:24:07

标签: string loops for-loop

public String oneTwo(String str) {
    int len = str.length();
    for (int i = 0; i * 3 < len; i++)
        if (len >= 3) {
            return str = str.substring((i * 3) + 1, (i * 3) + 3) + str.substring((i * 3), (i * 3) + 1);
        }

    return str;
}

我需要字符串在所有情况下都能工作,它适用于三个字符以下的字符串。但它不会运行for循环,因此它不适用于大于3个字符的字符串。此外,三个字符以下的任何内容都保持不变并且未经编辑。这就是我到目前为止的例外情况:“to” - “to”,“tca” - “cat”,“tcagdo” - “cat”,“” - “”。

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,那么答案应该是: -

public String oneTwo(String str) {
    int len = str.length();
    String result = "";
    for (int i = 0; i * 3 < len-2; i++)
        if (len >= 3) {
            result = result + str.substring((i * 3) + 1, (i * 3) + 3) + str.substring((i * 3), (i * 3) + 1);
        }

    return result;
}