Hallo, mein Programm soll Palindrome ausgeben(wenn die Zahl Rückwerts gleich, wie vorwärts ist) und meine Idee um die Zahl Rückwerts auszugeben ist, erst in einem String speichern und dann zum Schluss in einem Integer parsen.. doch es funktioniert nicht bei negativen Zahlen und bei der Zahl 0.. jemand eine Idee wie man das beheben kann ?
Java:
public static void main(String[] args){
int[] x = {7, 23, 4554, 66, -121, 0, 31, 20};
palindrom(x);
}
public static void palindrom(int[] a){
for(int i = 0; i < a.length; i++){ //jeden zahl im Array durchgehen
String ergebnis = "";
int y = a[i];
while(y > 0){ // gibt die Zahl rückwerts aus und speichert es im String
ergebnis += y%10;
y = y/10;
}
int umgewandelt = Integer.parseInt(ergebnis);
if(umgewandelt == a[i]){ //check ob es eine Palindrom Zahl ist
System.out.println("Polindrome: " + a[i]);
}
}
}
Code:
Ausgabe:
Polindrome: 7
Polindrome: 4554
Polindrome: 66
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at Test2.palindrom(Test2.java:22)
at Test2.main(Test2.java:6)