我如何打印两个相互混合的字符串?

时间:2016-02-29 17:22:45

标签: java string loops

我尝试使用循环将两个字符串混合在输出上。两个字符串可以是任意长度。如果一个字符串大于另一个字符串,则较大字符串中的所有额外字符应该到达组合字符串的末尾。

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

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

1 个答案:

答案 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'语句将不再运行以避免错误,而另一个将打印。

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