我正在开发一个工具,需要将文本拆分成列。
例如-1 2 3 4 5 6 7 8 9 1
如果周期是2-
1,3,5,7,9号

2,4,6,8,1个
如果周期是3-
1,4,7,1和
2,5,8和
三、六、九
等等。
我正在努力构建这个孤岛,任何帮助将不胜感激!如何才能最好地构建这些算法?我已经把它写在纸上了,但不能转换成代码!我一直在构造第二个循环来增加周期这里有一个我到目前为止的例子

    String to_test = "1234567891";
    StringBuilder sb = new StringBuilder();

    int period = 2;
    int startAt = 0;
    int characterToCheck = 0;

    while (startAt < period) {
        for (int i = 0; i < to_test.length(); i++) {
            if (i % period == 0) {
                sb.append(to_test.charAt(characterToCheck));
            }
            characterToCheck++;
        }
        // String is constructed
        System.out.println(sb);
        sb = new StringBuilder();
        startAt ++;
        characterToCheck = startAt;
    }

}

最佳答案

试试这个。

import java.util.Arrays;

public class Tester1 {

    public static void main(String[] args){
        String to_test = "1234567891";
        StringBuilder sb = new StringBuilder("");

        char[] charArray = to_test.toCharArray();

        int period = 3;

        for (int j=0;j<period;j++){
            for (int i=j;i<charArray.length;i+=period){
                sb.append(charArray[i]);
            }
            sb.append(";");
        }
        System.out.println(sb);
    }
}

07-26 09:40