我正在检查输入的单词是否是回文.也就是说,它的反转版本与原版相同.这是我正在使用的方法:
//Change word to char array and reverse array.
//Change char array back to String. Checks if word and reversed string are equal
public boolean isAPalindrome(){
char[] charArray = word.toCharArray();
for(int i = 0; i < (charArray.length/2); i++){
char temp = charArray[i];
charArray[i] = charArray[charArray.length - 1 - i];
charArray[charArray.length - 1 - i] = temp;
}
if(word.equals(charArray.toString()))
return true;
else
return false;
}
Run Code Online (Sandbox Code Playgroud)
当我进入赛车时,程序在应该为真时返回false.
这对评论来说太长了,但不是真正的解决方案.我只会发布一个提示,让你自己找到解决方案,因为你会自己学习更多,而不是复制/粘贴:
char[] chars = {'a', 'b', 'c'};
System.out.println(chars.toString());
// prints something like: [C@18c28a
System.out.println(new String(chars));
// prints abc
Run Code Online (Sandbox Code Playgroud)
因为如何toString()在数组上实现.