Java如何将字符串数组中的所有字符合并为新字符串?
我正在制定一个方法
public static String merge(String... s)
这是输入:
String a = merge("AM ","L","GEDS","ORATKRR","","R TRTE","IO","TGAUU");
System.out.println(a);
预期产出:
ALGORITMER OG DATASTRUKTURER
我多次尝试运行一个循环,以便它拾取s[0]。字符(索引)并将其附加到字符串以供输出。我遇到的问题是,当我尝试运行s[1]的循环时。charAt(1)它为null,我希望它不获取StringIndexOutOfBoundsException,而是继续执行s[2]并附加[2]。字符到字符串
我该怎么办
# 1 楼答案
下面的代码满足您的需要。它适用于任意数量的字符串,因为它使用varargs(三个点),允许您将任意数量的字符串传递到
merge
使用
getLongest
()查找最长字符串的长度然后将每个
String
中的所有第i个字符合并成一个StringBuilder
输出
# 2 楼答案
首先,你需要一个方法来获得最长的
String
,比如-然后可以在
merge()
中编写一个嵌套循环,类似于-那你可以叫它-
输出是(请求的)——
# 3 楼答案
在尝试访问每个字符串的第i个字符之前,需要检查其长度:
为了澄清,我使用了一个布尔
maxLengthReached
来确定最长String
的最后一个字符何时被追加到输出中。如果在输入数组中所有String
的完整迭代中,我们没有找到足够长的String
来拥有charAt(index)
,我们就知道我们完成了