gpt4 book ai didi

java for循环第一个字符串的第一个字符然后是第二个字符串的最后一个字符

转载 作者:太空宇宙 更新时间:2023-11-04 06:22:49 24 4
gpt4 key购买 nike

当我输入两个长度相等的字符串时,我的代码工作得很好,但是当我输入不同长度的字符串时,它会显示 StringIndexOutOfBoundsException。

这是我的代码...我需要输出 a5b4c3d21这不是家庭作业,我只是在研究通过 for 循环进行字符串操作。提前谢谢您。

String name1 = "abcd";
String name2 = "12345";
String temp = "";

for (int i = 1; i <= name1.length() || i <= name2.length(); i++) {

temp = temp + name1.charAt(i-1) + name2.charAt(name2.length()-i);
}

System.out.println(temp);

最佳答案

您需要进行边界检查:

for (int i = 1; i <= name1.length() || i <= name2.length(); i++) {
if (i <= name1.length()) {
temp += name1.charAt(i - 1);
}
if (i <= name2.length()) {
temp += name2.charAt(name2.length() - i);
}
}

您可以使用条件运算符来使其不那么冗长:

for (int i = 1; i <= name1.length() || i <= name2.length(); i++) {
temp += (i <= name1.length() ? name1.charAt(i - 1) : "") +
(i <= name2.length() ? name2.charAt(name2.length() - i) : "");
}

但我推荐第一个版本,它更清晰。

关于java for循环第一个字符串的第一个字符然后是第二个字符串的最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27210091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com