@ tesro70
hast natürlich Recht. Hatte irgendwie nur im Kopf das er im dritten Beitrag selber String benutzt hat.
Ich glaube die ganze Aufgabe ist etwas blöd formuliert. Sinn voll müssen solche Aufgaben eh nicht sein, kann mich da noch gut dran erinnern.....
Wenn es schnell und speicherschonend sein soll dann bitte in ANSI C :p
Wie währe es hiermit:
public class Invertieren {
public static int DreheZahl( int zahl) {
int rest = 0;
int DreheZahl = 0;
//System.out.println(zahl); // 1234
for (int i = 0; zahl > 0; i++) {
rest = zahl %10;
//System.out.println(rest); //4
zahl = zahl / 10;
//System.out.println(zahl); //123
DreheZahl = DreheZahl * 10 + rest;
System.out.print(rest); //4
}
}
}
Main:
public class InvertierenTest {
public static void main(String[] args) {
Invertieren.DreheZahl(12345);
}
}
Edit: Grad noch in meinem wust alter Codeschnipsel gefunden (allerdings in C )
#include<stdio.h>
int main(){
int num,rev;
printf("\nEnter a number :");
scanf("%d",&num);
rev=reverse(num);
printf("\nAfter reverse the number is :%d",rev);
return 0;
}
int sum=0,r;
reverse(int num){
if(num){
r=num%10;
sum=sum*10+r;
reverse(num/10);
}
else
return sum;
return sum; }