我正在开发一种工具,需要将文本分成多列。
例如 - 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/