1

Javaで2つの文字列を混在させるにはどうすればよいですか?

abcdeとがある場合123456789、 を取得する最も簡単な方法は何a1b2c3d4e56789ですか?

これが私のコードです:

public class Mix {
    public static void main(String[] args) {
        String s1="vera", s2="ronaldo"; /* 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();
        System.out.println(result);
    }
}

出力:

vreornaa

私の期待される出力:

vreornaaldo
4

2 に答える 2

2

@Rohit を補完するには、2 つの文字列の長さのどちらが長いかを確認し、それを結果に追加する必要があります。

String s1 = "vera", s2 = "ronaldo";
StringBuilder sb = new StringBuilder();

int minLength = Math.min(s1.length(), s2.length());
for (int i = 0; i < minLength; i++){
    sb.append(s1.charAt(i));
    sb.append(s2.charAt(i));
}

for (int i = minLength; i < s1.length(); i++){
    sb.append(s1.charAt(i));
}

for (int i = minLength; i < s2.length(); i++){
    sb.append(s2.charAt(i));
}

System.out.println(sb.toString());
于 2013-09-16T17:17:36.130 に答える
2

あなたはほとんどそこにいます。大きな文字列の残りの部分を追加するには、別の for ループを追加するだけです。短い文字列の長さから長い文字列の長さまで 2 番目のループを繰り返すだけです。

for (int i = s1.length(); i < s2.length(); ++i) {
    sb.append(s2.charAt(i));
}
于 2013-09-16T17:09:30.557 に答える