Я пытаюсь преобразовать базовый номер 10 в любую базу с помощью преобразования. Прямо сейчас это код, который я придумал. У меня печальное чувство, что это может быть совершенно неправильно. Ниже приведено изображение того, как этот процесс должен произойти.Java - программа рекурсии - преобразование базового номера 10 в любую базу
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;
}
}
Это домашнее задание? Если это так, его следует пометить тегом [домашняя работа]. –
, вы должны определить базовый случай, скажем, когда ваш номер меньше вашей базы, а рекурсивная часть, скажем, операции, чтобы получить следующую цифру вашего преобразованного номера –
, спасибо за то, что у вас есть голова ... louis ... и спасибо, а также luiggi, Idk, почему я думал, что == 0 - хорошая идея. Я не думаю, что это даже необходимо сейчас, когда я смотрю на него – user878034