在Java中混合两个字符串

在Java中混合两个字符串,java,string,Java,String,我想知道是否可以在java中混合使用两个字符串。 如果我有 11111 及 将它们结合在一起形成的最佳方式是什么 1212121212 是-迭代第一个字符串,对于其中的每个字符,将第二个字符串(如果存在)中相同位置的字符附加到生成器中: StringBuilder sb=新建StringBuilder(); 对于(int i=0;ii){ 某人附加(str2.charAt(i)); } } 使某人返回字符串(); 假设两个字符串的长度相等,您只需编写一个循环来遍历字符并执行所需操作:

我想知道是否可以在java中混合使用两个字符串。 如果我有

11111

将它们结合在一起形成的最佳方式是什么

1212121212

是-迭代第一个字符串,对于其中的每个字符,将第二个字符串(如果存在)中相同位置的字符附加到生成器中:

StringBuilder sb=新建StringBuilder();
对于(int i=0;ii){
某人附加(str2.charAt(i));
}   
}
使某人返回字符串();

假设两个字符串的长度相等,您只需编写一个循环来遍历字符并执行所需操作:

String s1, s2; /* input strings */

StringBuilder sb = new StringBuilder();
for (int i = 0; i < s1.length(); i++) {
  sb.append(s1.charAt(i));
  sb.append(s2.charAt(i));
}

String result = sb.toString();
字符串s1、s2;/*输入字符串*/
StringBuilder sb=新的StringBuilder();
对于(int i=0;i
我想知道给出的示例是否是有意的,即它们都重复了1个字符。那样的话就简单多了。如果不是,那么其他答案也不错

下面是一个保留剩余长度不等字符串的实现:

public static String mix(String a, String b) {
    final int aLength = a.length();
    final int bLength = b.length();
    final int min = Math.min(aLength, bLength);
    final StringBuilder sb = new StringBuilder(aLength + bLength);
    for(int i = 0; i < min; i++) {
        sb.append(a.charAt(i));
        sb.append(b.charAt(i));
    }
    if (aLength > bLength) {
        sb.append(a, bLength, aLength);
    } else if (aLength < bLength) {
        sb.append(b, aLength, bLength);
    }
    return sb.toString();
}
公共静态字符串混合(字符串a、字符串b){
最终长度=a.长度();
最终整数长度=b.长度();
最终整数最小值=数学最小值(aLength,bLength);
最终StringBuilder sb=新StringBuilder(长度+长度);
对于(int i=0;ibLength){
某人附加(a,bLength,aLength);
}否则如果(aLength
这与正则表达式无关,因此我删除了标记。如果这是家庭作业,请将其标记为-1(家庭作业中没有显示现有的方法/尝试)。当任何长度相同的字符串出现时,它都不会起作用,而且字符是否重复也不重要。
String s1, s2; /* input strings */

StringBuilder sb = new StringBuilder();
for (int i = 0; i < s1.length(); i++) {
  sb.append(s1.charAt(i));
  sb.append(s2.charAt(i));
}

String result = sb.toString();
public static String mix(String a, String b) {
    final int aLength = a.length();
    final int bLength = b.length();
    final int min = Math.min(aLength, bLength);
    final StringBuilder sb = new StringBuilder(aLength + bLength);
    for(int i = 0; i < min; i++) {
        sb.append(a.charAt(i));
        sb.append(b.charAt(i));
    }
    if (aLength > bLength) {
        sb.append(a, bLength, aLength);
    } else if (aLength < bLength) {
        sb.append(b, aLength, bLength);
    }
    return sb.toString();
}