java - 如何混合两个字符串并生成另一个?
问题描述
用户将输入两个字符串值,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++;
}
解决方案
您可以使用 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
推荐阅读
- php - Wordpress 帐户上的用户个人数据库
- vue.js - 如何在 Vue.js 上获取导入组件的数据?
- django - 我可以覆盖 rest_framework 权限类中的 http 状态吗?
- angular - 第一个 http 请求在第二个之后结束。如何解决?
- tensorflow - 如何使用 Tensorflow Keras api 从预训练模型中复制特定层权重?
- cygwin - cygwin中strace的输出格式
- c# - WPF DataGrid - 动态两种方式绑定到 ObservableCollection 中的 T 实例
- kubernetes - 如何在 helm repo 下列出所有可用的图表?
- c - 为什么这个 C 代码会导致分段错误?试图理解指针
- google-apps-script - 如何使用 UrlFetchApp 为 Transloadit API 格式化 JSON 参数