Code: Select all
import java.util.Arrays;
class Solution {
public static boolean isPalindrome(int x) {
String num1 = String.valueOf(x);
char[] numArray = num1.toCharArray();
char[] temp = new char[num1.length()];
for (int j = numArray.length - 1; j >= 0; j--) {
temp[numArray.length - (j+1)] = numArray[j];
}
if (temp != numArray) {
System.out.println(Arrays.toString(temp) + "\n" + Arrays.toString(numArray));
System.out.println("FALSE");
return false;
}
return true;
}
public static void main(String[] args) {
isPalindrome(121);
}
}
Ich habe beschlossen, die Nummer zu nehmen und sie in ein Array (numarray) zu verwandeln, um die Zahlen aus dem Nummernarray in ein Temp -Array (ab dem letzten Index von Numarray aus dem letzten Index von Numarray) zu drücken. Dies ist offensichtlich eine Palindrome -Nummer, das Programm gibt jedoch falsche zurück. Wenn eine Zahl, die nicht Palindrome ist, in die Methode ispalindrome () übergeben wird, gibt das Programm tatsächlich das richtige Ergebnis zurück (das falsch ist).
Ich möchte wissen, warum mein Code nicht das richtige Ergebnis gibt.>