我尝试使用循环将两个字符串混合在输出上。两个字符串可以是任意长度。如果一个字符串大于另一个字符串,则较大字符串中的所有额外字符应该到达组合字符串的末尾。
说我有String s1 = "hhhh"
,我有String s2 = "aaaa"
。如何创建一个可以打印"hahahaha"
?
另一个例子是String s1 = "bbbbb"
和String s2 = "ccc"
。我希望输出为"bcbcbcbb"
。
我已经开始编写一些代码,以展示我所做的事情。这里:
public class interLeave {
public static void main(String[] args) {
String you = "hhhh";
String me = "aaaa";
for (int i = 0 ; i < 4 ; i++){
System.out.print( you.charAt(i)); }
for (int i = 0 ; i < 4 ; i++){
System.out.print( me.charAt(i)); }
}
}
现在唯一的办法是让字符串实际交错,我不知道怎么办。
答案 0 :(得分:2)
以下是您可以使用的循环:
String s1 = "hhhh";
String s2 = "aaaa";
for (int i=0; i<(Math.max(s1.length(), s2.length())); i++){
if(i < s1.length()){
System.out.print(s1.charAt(i));
}
if(i < s2.length()){
System.out.print(s2.charAt(i));
}
}
这样做需要花费最长String的长度,并根据它运行for循环,以确保打印所有字符。然后,两个if语句开始工作。第一个'if'将打印第一个字符串的当前字符,如果它有任何左边的字符串。第二个将完全相同。如果一个String完成,其相应的'if'语句将不再运行以避免错误,而另一个将打印。
这适用于所有字符串长度。