旋转包含两个以上字符的String中的元素并将其打印出来

时间:2015-05-21 23:36:24

标签: java

我正在尝试旋转包含两个以上元素的String中的元素并将其打印出来。

public class Solution1 {

    public static void main(String[] args) {

        String strArray[] = { "ab", "bc", "abc", "ca", "cba", "xyz", "xy" };
        int shift = 0;
        for (int i = 0; i < strArray.length; i++) {
            for (int j = i; j < strArray.length; j++,i++) {
                if (strArray[j].length() >= 3) {
                    strArray[shift] = strArray[j];
                    break;
                }
            }
            shift++;
        }

        for (int i = 0; i < shift; i++) {
            System.out.println(strArray[i]);
        }
    }
}

我获得了正确的输出:{ "ab", "bc", "abc", "ca", "cba", "xyz", "xyz" }

但不是:{ "ab", "bc", "abc", "ca", "cba", "xyz", "xy" }

有什么问题?

1 个答案:

答案 0 :(得分:1)

如果您使用shift++;代替break;语句,则代码将起作用。但是,您的解决方案可以简化和改进。