首页 > 解决方案 > 如何混合两个字符串并生成另一个?

问题描述

用户将输入两个字符串值,a 和 b。我的代码将创建一个更大的字符串,由 a 的第一个字符、b 的第一个字符、a 的第二个字符、b 的第二个字符等组成。任何剩余的字符都会出现在结果的末尾。我怎样才能做到这一点最简单的方法?我对如何开始感到困惑。

System.out.print("Enter 2 words");
String s1 = input.nextLine();
String s2 = input.nextLine();
int num = 0;
for (int i = 0; i<s1.length();i++) {    
    char a = s1.charAt(i+num);
    num++;
}

标签: javastring

解决方案


您可以使用 aStringBuilder来实现:

StringBuilder result = new StringBuilder(s1);
for (int i = 0; i < s2.length(); i++) {
    result.insert(Math.min(i * 2 + 1, result.length()), s2.charAt(i));
}
System.out.println(result.toString());

首先,您创建一个StringBuilder字符串s1作为输入。现在您可以遍历 String 的长度s2并将每个字符插入到result. Math.min()用于防止StringIndexOutOfBoundsException.

s1 = "TEST"和的结果s2 = "test"是:

呸呸呸

s1 = "TESTASDF"和的结果s2 = "test"是:

TTEESTTASDF

s1 = "TEST"和的结果s2 = "testasdf"是:

TTEESSTASDF


推荐阅读