| reverse < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe 
 
 
  |  |  
  | 
    
     |  | Status: | (Frage) reagiert/warte auf Reaktion   |   | Datum: | 16:52 Mi 24.11.2010 |   | Autor: | ponysteffi | 
 
 | Aufgabe |  | Gegeben: int n Gesucht: Methode reverse, welche die Zahl n mit umgekehrter Ziffernreihenfolge zurückgibt.
 | 
 
 Meine Idee war: Bsp Zahl 1234:
 1234% 10 = 4
 123%10 = 3
 12%10 = 2
 1%10 = 1
 
 Hier meine Methode
 
 
 static int reverse(int x){
 int z = 10, a=0;
 while (x>0){
 a = a*10 + (x%z)*(10/z);
 x = (x - (x%z));
 z = z*10;
 }
 return a;}
 
 
 Das Programm funktioniert jedoch nicht. Meine Vermutung ist, dass ich ja mit 10/z eine Ganzzahldivision durchführe und somit dort immer den Faktor 0 bekomme (ausser im 1. Durchlauf)
 Hat jemand eine Korrektur für mein Programm um das Problem exakt zu lösen?? (Mit float-Zahlen bringen mich ja hier nicht weiter, da gibt es überall Rundungsfehler...)
 
 
 
 
 |  |  |  | 
 
  |  |  
  | 
    
     |  | Status: | (Mitteilung) Reaktion unnötig   |   | Datum: | 17:19 Mi 24.11.2010 |   | Autor: | ponysteffi | 
 Ich habe die Lösung gefunden!! So funktionierts:
 
 static int reverse(int x){
 int z = 10, a=0;
 while (x>0){
 a = a*10 + (x%z)/(z/10);
 x = (x - (x%z));
 z = z*10;
 }
 return a;
 }
 
 
 |  |  | 
 
 
 |