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;
}
|
|
|
|