无法使用 char[] 数组反转我的字符串 如果我的输入是极客并且输出应该是 skeeg 如果我使用 charAt 函数反转,它会正确反转字符串,如果我使用reverse[i]=reverse[j],我无法正确反转它(j=反转的长度),为了清楚查看,请查看我的代码。 上面的代码给我的输出是错误的,例如如果我的输入是极客,它给出的输出是 skeks 如果我更改该行reverseword[j]=reverseword[i];反转字[j] = test.charAt(i);它给出了正确的输出。 因为 reveredword 也包含相同的单词,但它在反转字符串时会出现问题,但在使用 test.chatAt 时它可以工作吗? 使用reverseword[j]=reverseword[i];反转字符串有什么问题?
class reverse {
public static String sample(String str) {
String test = str;
char[] reverseword;
reverseword = test.toCharArray();
int j = 0;
for (int i = reverseword.length - 1; i >= 0; i--) {
reverseword[j] = reverseword[i];
j++;
}
String finalresult = new String(reverseword);
return finalresult;
}
}
在您的代码中,您尝试同时在同一数组中读取和写入数据,这会导致数据丢失。当您开始从数组末尾读取数据并将其写入数组开头时,实际上是在覆盖原始数据。 但是,当您使用
charAt
时,您正在读取原始字符串,该字符串在整个过程中没有被修改。这样就可以正确地从字符串末尾取出字符了。