gpt4 book ai didi

java - 引用上述代码,预期结果为 ="ECTSTRI"但实际结果为 ="ECTTRI"

转载 作者:行者123 更新时间:2023-11-30 12:03:54 25 4
gpt4 key购买 nike

给定一个新字符串作为输入,创建一个新字符串,其中半个字母最先出现。如果字符串的长度为奇数,则中间字符保留在其位置。

我能够打印具有偶数字符串长度的所需字符串,但遇到奇数长度字符串的一些问题,因为在奇数字符串长度的情况下,中间字符应该在它自己的位置。如何做到这一点?

String str = "TRISECT";
int len = str.length();
int halflen = len / 2;
String newstr = "";
String zstr = "";
if(len%2==0){
for (int i = 0; i < halflen; i++) {
char ch = str.charAt(i);
newstr = newstr + ch;
}
for (int j = halflen; j < len; j++) {
char ch = str.charAt(j);
zstr = zstr + ch;
}
System.out.println(zstr + newstr);
}else{
for (int i = 0; i < halflen; i++) {
char ch = str.charAt(i);
newstr = newstr + ch;
}
for (int j = halflen + 1; j < len; j++) {
char ch = str.charAt(j);
zstr = zstr + ch;
}
System.out.println(zstr + newstr);
}

最佳答案

如果你添加

   System.out.println(zstr+str.charAt(halflen)+newstr);

对于满足奇数长度条件的打印品,它应该可以解决问题。

发生的事情是,由于您将字符串的一半长度分成两半(并将该值保存在 halflen 变量中),因此您的 for 不会捕获位于 halflen 位置的字符.

关于java - 引用上述代码,预期结果为 ="ECTSTRI"但实际结果为 ="ECTTRI",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57416408/

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