Ich versuche eine Basis 10 Zahl in eine beliebige Basis zu konvertieren, indem ich die Konvertierung benutze. Im Moment ist dies der Code, den ich mir ausgedacht habe. Ich habe das traurige Gefühl, dass dies völlig falsch ist. Das Bild unten ist ein Beispiel dafür, wie dieser Prozess stattfinden sollte.Java - Rekursionsprogramm - Konvertiere eine Basis 10 Nummer in eine beliebige Basis
http://i854.photobucket.com/albums/ab107/tonytauart/rrrr.png
public static void main(String[] args) {
int base;
int number;
Scanner console = new Scanner(System.in);
System.out.println("Please enter the base");
base = console.nextInt();
System.out.println("Please enter the Number you would like to convert");
number = console.nextInt();
System.out.println(Converter(base, number));
}
public static int Converter(int Nbase, int Nnumber){
int answer;
int Rcontainer =0;
int cnt = 0;
int multiplier;
int temp;
double exp;
if(Nnumber/Nbase == 0){
cnt++;
exp = Math.pow(10,cnt);
multiplier = (int)exp;
answer = (Nnumber%Nbase)* multiplier + Rcontainer;
}
else
{
exp = Math.pow(10,cnt);
multiplier = (int)exp;
cnt++;
temp = Rcontainer;
Rcontainer = (Nnumber%Nbase)* multiplier + temp;
Nnumber = Nnumber/Nbase;
answer = Converter(Nbase,Nnumber);
}
return answer;
}
}
Ist das Hausaufgaben? Wenn ja, sollte es mit dem Tag [homework] gekennzeichnet werden. –
sollten Sie einen Basisfall definieren, sagen wir, wenn Ihre Zahl kleiner als Ihre Basis ist, und den rekursiven Teil, sagen wir, die Operationen, um die nächste Ziffer Ihrer konvertierten Zahl –
Dank für die Heads-Up-Louis ... und danke auch luiggi, IDK, warum ich dachte, == 0 war eine gute Idee. Ich glaube nicht, dass das jetzt auch nötig ist, wenn ich es mir anschaue. – user878034