Java 两种不同输入的交替字符

Java 两种不同输入的交替字符,java,Java,我想使用for方法获取两个字符串并将这些字符替换成一个新字符串 示例:“两个”和“一个” 结果:“townoe” 这就是我到目前为止所拥有的,我真的不知道如何完成它 public class Alternator { String alternate(String a, String b) { String s = ""; for (int i = 0; i < a.length(); i++) { s += i;

我想使用for方法获取两个字符串并将这些字符替换成一个新字符串

示例:“两个”和“一个”

结果:“townoe”

这就是我到目前为止所拥有的,我真的不知道如何完成它

public class Alternator {   
    String alternate(String a, String b) {
        String s = "";
        for (int i = 0; i < a.length(); i++) {
            s += i;
            System.out.println(s);
        }
        return null;
    }
}
公共类交流发电机{
字符串替换(字符串a、字符串b){
字符串s=“”;
对于(int i=0;i
公共级交流发电机{
公共静态字符串替换(字符串a、字符串b){
字符串s=“”;
int i=0;
而(i
要使用for循环而不是while循环,只需删除所有while行和for行,如下所示,然后从每个while循环中删除i++行

for(; i < a.length() && i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++ 
}
for(; i < a.length(); i++){
//the inside of the loop MINUS THE LINE i++ 
}
for(; i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++ 
}
(;i{ //循环的内部减去行i++ } 对于(;i
公共级交流发电机{
公共静态字符串替换(字符串a、字符串b){
字符串s=“”;
int i=0;
而(i
要使用for循环而不是while循环,只需删除所有while行和for行,如下所示,然后从每个while循环中删除i++行

for(; i < a.length() && i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++ 
}
for(; i < a.length(); i++){
//the inside of the loop MINUS THE LINE i++ 
}
for(; i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++ 
}
(;i{ //循环的内部减去行i++ } 对于(;i
公共级交流发电机{
公共静态字符串替换(字符串a、字符串b){
字符串s=“”;
int i=0;
而(i
要使用for循环而不是while循环,只需删除所有while行和for行,如下所示,然后从每个while循环中删除i++行

for(; i < a.length() && i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++ 
}
for(; i < a.length(); i++){
//the inside of the loop MINUS THE LINE i++ 
}
for(; i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++ 
}
(;i{ //循环的内部减去行i++ } 对于(;i
公共级交流发电机{
公共静态字符串替换(字符串a、字符串b){
字符串s=“”;
int i=0;
而(i
要使用for循环而不是while循环,只需删除所有while行和for行,如下所示,然后从每个while循环中删除i++行

for(; i < a.length() && i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++ 
}
for(; i < a.length(); i++){
//the inside of the loop MINUS THE LINE i++ 
}
for(; i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++ 
}
(;i{ //循环的内部减去行i++ } 对于(;i使用以下方法:

String alternate(String a, String b){
    StringBuilder builder = new StringBuilder();
    final int greaterLength = a.length() > b.length() ? a.length() : b.length();

    for(int i = 0; i < greaterLength; i++){
        if (i < a.length()) {
            builder.append(a.charAt(i));
        }
        if (i < b.length()) {
            builder.append(b.charAt(i));
        }
    }
    return builder.toString();
}
字符串替换(字符串a、字符串b){
StringBuilder=新的StringBuilder();
final int greaterLength=a.length()>b.length()?a.length():b.length();
for(int i=0;i
它使用该方法获取字母,并使用a创建字符串

(当给定两个长度不相等的字符串时,这将返回前两个字符的交替,然后只执行剩余的字符串。例如:
Hello
Hi
-->
HHeillo

使用以下命令:

String alternate(String a, String b){
    StringBuilder builder = new StringBuilder();
    final int greaterLength = a.length() > b.length() ? a.length() : b.length();

    for(int i = 0; i < greaterLength; i++){
        if (i < a.length()) {
            builder.append(a.charAt(i));
        }
        if (i < b.length()) {
            builder.append(b.charAt(i));
        }
    }
    return builder.toString();
}
字符串替换(字符串a、字符串b){
StringBuilder=新的StringBuilder();
final int greaterLength=a.length()>b.length()?a.length():b.length();
for(int i=0;i
它使用该方法获取字母,并使用a创建字符串

(当给定两个字符串时)
0
1
2
3
4
for (int i = 0; i < myString.length(); i++) {
    System.out.println(myString.charAt(i));
}
H
e
l
l
o
myOtherString += myString.charAt(i);
myAlternatedString += myString.charAt(i); 
myAlternatedString += myOtherString.charAt(i);
Hweolrllod
public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    String a = in.next();
    String b = in.next();

    String mergedString = "";

    int lenA = a.length();
    int lenB = b.length();
    if (lenA >= lenB) {
        for (int i = 0; i < lenA; i++) {
            if (i < lenB) {
                mergedString += a.charAt(i) + "" + b.charAt(i);

            } else {
                mergedString += a.charAt(i);
            }
        }

    }
    if (lenB > lenA) {
        for (int i = 0; i < lenB; i++) {
            if (i < lenA) {
                mergedString += a.charAt(i) + "" + b.charAt(i);

            } else {
                mergedString += b.charAt(i);
            }
        }

    }

    System.out.println("the merged string is-->" + mergedString);

}
    String str3="";
    if(str1!=null && str2!=null && !str1.isEmpty() && !str2.isEmpty()){
            if(str1.length()==str2.length()){
                for(int i=0;i<=str1.length()-1;i++){
                    str3+=str1.charAt(i);
                    str3+=str2.charAt(i);

                }
            }
            if(str1.length()>str2.length()){
                for(int i=0;i<=str1.length()-1;i++){
                    str3+=str1.charAt(i);
                    if(i<str2.length()){
                        str3+=str2.charAt(i);
                    }
                }
            }
            if(str2.length()>str1.length()){
                for(int i=0;i<=str2.length()-1;i++){
                    if(i<str1.length()){
                        str3+=str1.charAt(i);
                    }
                    str3+=str2.charAt(i);
                }
            }
        }
        return str3;

}
String alternate(String a, String b) {
    StringBuilder builder = new StringBuilder();

    int smallerStringLength = Math.min(a.length(), b.length());
    for (int i = 0; i < smallerStringLength; i++) {
        builder.append(a.charAt(i));
        builder.append(b.charAt(i));
    }
    return builder.toString();
}
String alternate(String first, String second) {
    char[] firstChars = first.toCharArray();
    char[] secondChars = second.toCharArray();

    int smallerCharsCount = Math.min(firstChars.length, secondChars.length);
    StringBuilder builder = new StringBuilder(smallerCharsCount * 2);
    for (int i = 0; i < smallerCharsCount; i++) {
        builder.append(firstChars[i]);
        builder.append(secondChars[i]);
    }
    return builder.toString();
}
static void mergeStrings(String a, String b) {
    StringBuilder mergedBuilder = new StringBuilder();
    char[] aCharArr = a.toCharArray();
    char[] bCharArr = b.toCharArray();

    int minLength = aCharArr.length >= bCharArr.length ? bCharArr.length : aCharArr.length;

    for (int i=0; i<minLength; i++) {
        mergedBuilder.append(aCharArr[i]).append(bCharArr[i]);
    }

    if(minLength < aCharArr.length) {
        mergedBuilder.append(a.substring(minLength));
    }
    else{
        mergedBuilder.append(b.substring(minLength));
    }
    Systemout.println(mergedBuilder.toString());
}
    String str1 = "one"; String str2 = "two";
    StringBuilder sb = new StringBuilder();
    int i = 0;
    for (; i < str1.length() && i < str2.length(); i++) {
        sb.append(str1.charAt(i)).append(str2.charAt(i));
    }
    for(; i < str1.length(); i++) {
        sb.append(str1.charAt(i));
    }
    for(; i < str2.length(); i++) {
        sb.append(str2.charAt(i));
    }
    System.out.println("result  = " + sb.toString());// otnweo
public static void main(String... args) {
    int[] one = { 1, 2, 3 };
    int[] two = { 44, 55, 66, 77, 88 };
    System.out.println(Arrays.toString(alternate(one, two)));
}

public static int[] alternate(int[] one, int[] two) {
    int[] res = new int[one.length + two.length];

    for (int i = 0, j = 0, k = 0; i < res.length; i++) {
        if (i % 2 == 0)
            res[i] = j < one.length ? one[j++] : two[k++];
        else
            res[i] = k < two.length ? two[k++] : one[j++];
    }

    return res;
}
[1, 44, 2, 55, 3, 66, 77, 88]