我该如何打印两个互相混合的字符串?
问题描述:
我想在输出上使用循环将两个字符串混合在一起。这两个字符串可以是任意长度。如果一个字符串比另一个字符串大,那么来自较大字符串的所有额外字符应该到达组合字符串的末尾。我该如何打印两个互相混合的字符串?
说我有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)); }
}
}
现在唯一的办法是让字符串实际交错,我不知道该怎么做。
答
这里的循环中,您可以使用:
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));
}
}
这样做是需要花费时间最长的字符串的长度,并运行基于该循环,以确保所有字符打印。然后,这两个if语句开始工作。第一个'if'将打印第一个字符串的当前字符,如果它有剩余的话。第二个会做同样的事情。如果一个字符串完成,其相应的'if'语句将不再运行以避免错误,而其他字符将打印。
这将适用于所有字符串长度。
甜。感谢您的帮助。 – Beatz