2016-02-29 37 views
-3

我想在输出上使用循环将两个字符串混合在一起。这两个字符串可以是任意长度。如果一个字符串比另一个字符串大,那么来自较大字符串的所有额外字符应该到达组合字符串的末尾。我该如何打印两个互相混合的字符串?

说我有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)); } 
} 
} 

现在唯一的办法是让字符串实际交错,我不知道该怎么做。

回答

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)); 
    } 
} 

这样做是需要花费时间最长的字符串的长度,并运行基于该循环,以确保所有字符打印。然后,这两个if语句开始工作。第一个'if'将打印第一个字符串的当前字符,如果它有剩余的话。第二个会做同样的事情。如果一个字符串完成,其相应的'if'语句将不再运行以避免错误,而其他字符将打印。

这将适用于所有字符串长度。

+0

甜。感谢您的帮助。 – Beatz