Java 字符串操作到列中

标签 java string algorithm

我正在开发一种工具,需要将文本分成多列。

例如 - 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 和 3,6,9

等等等等。 我正在努力构建这个 alogirithm,任何帮助将不胜感激!如何最好地构建这些算法?我已经把它写在纸上了,但无法转换成代码!我坚持构建第二个循环来增加周期。这是我目前所拥有的示例

    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);
    }
}

关于Java 字符串操作到列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26424734/

相关文章:

c - 将 C 字符串解析为数字和运算符

JavaScript:为什么推送对循环中的这些对象不起作用?

c++ - 很难在 multimap<Class object, enum> 上使用 max_element(也有 min_element)

javascript - 在没有表单的情况下从ajax向spring Controller 发送多部分请求?

java - 在父 pom 中定义 Maven 插件配置并在子 pom 中设置其激活条件

c - 为什么这里使用 strdup() ?

java - 如何在 Java 中比较字符串?

Java 多线程和安全发布

java - 如何知道二进制文件的字节数?

java - 同时计算最快路线和一些点