Toe*_*fen 3 java arrays algorithm data-structures
我在做一个方法
public static String merge(String... s)
Run Code Online (Sandbox Code Playgroud)
这是输入:
String a = merge("AM ","L","GEDS","ORATKRR","","R TRTE","IO","TGAUU");
System.out.println(a);
Run Code Online (Sandbox Code Playgroud)
预期输出:
ALGORITMER OG DATASTRUKTURER
Run Code Online (Sandbox Code Playgroud)
我尝试多次运行循环,以便它选取 s[0].charAt(index) 并将其附加到字符串以进行输出。我遇到的问题是,当我尝试运行 s[1].charAt(1) 的循环时,它为空,我希望它不会得到 StringIndexOutOfBoundsException,而是继续 s[2] 并附加 s[2]。字符到字符串。
我该怎么做?
在尝试访问第 i 个字符之前,您需要检查每个字符串的长度:
StringBuilder sb = new StringBuilder();
int index = 0;
boolean maxLengthReached = false;
while (!maxLengthReached) {
maxLengthReached = true;
for (String str : input) {
if (index < str.length) {
sb.append(str.charAt(index));
maxLengthReached = false;
}
}
index++;
}
return sb.toString();
Run Code Online (Sandbox Code Playgroud)
为了澄清起见,我使用布尔值maxLengthReached来确定最长的最后一个字符何时String附加到输出中。如果在String对输入数组中所有s的完整迭代中,我们没有找到String足够长的s charAt(index),我们知道我们已经完成了。
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |