gpt4 book ai didi

java - 为什么这个剖腹产轮类不起作用

转载 作者:行者123 更新时间:2023-12-01 08:49:43 26 4
gpt4 key购买 nike

private static String shift(String p, int shift){
String s = "";
int len = p.length();
for(int x = 0; x < len; x++){
char c = (char)(p.charAt(x) + shift);
if (c == ' '){ // this right here isn't working
s += " ";
} else if (c > 'z'){
s += (char)(p.charAt(x) - (26-shift));
}
else {
s += (char)(p.charAt(x) + shift);
}
}
return s;
}

示例输出:qer$hyhi(“$”曾经是一个空格)。为什么这个空间不只是像它应该的那样保留一个空间呢?相反,它仍然遵循转换过程。

最佳答案

问题在于您正在将已经移位的字符与空格进行比较。

有多种方法可以修复此错误,其中之一如下(修复其他一些小问题):

private static String shift(String p, int shift){
StringBuilder s = new StringBuilder(); //better using a mutable object than creating a new string in each iteration
int len = p.length();
for(int x = 0; x < len; x++){
char c = p.charAt(x); //no need for casting
if (c != ' '){ // this should work now
c += shift;
if (c > 'z'){ //we assume c is in the 'a-z' range, ignoring 'A-Z'
c -= 'z';
}
}
s.append(c);
}
return s.toString();
}

关于java - 为什么这个剖腹产轮类不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42463932/

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