Próbuję przekonwertować numer bazowy 10 na dowolną bazę przy użyciu konwersji. W tej chwili jest to kod, który wymyśliłem. Mam smutne uczucie, że może to być całkowicie błędne. Poniższy obrazek jest przykładem tego, jak powinien wyglądać ten proces.Java - Program rekursyjny - Konwertuj numer bazowy 10 na dowolną bazę
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;
}
}
Czy to praca domowa? Jeśli tak, powinien być oznaczony tagiem [praca domowa]. –
powinieneś zdefiniować podstawowy przypadek, powiedzmy, gdy twoja liczba jest mniejsza niż twoja baza, a część rekursywna, powiedzmy, operacje, aby uzyskać następną cyfrę twojego przekonwertowanego numeru –
dzięki dla głów ludu ... i Dziękuję również Luiggi, Idk, dlaczego pomyślałem, że posiadanie == 0 było dobrym pomysłem. Nie sądzę, że jest to potrzebne nawet teraz, gdy na to patrzę. – user878034