Проблема с использованием метода внутри класса
Задача - рекурсивное преобразование числа в иную систему счисления.
Код:
import java.util.Scanner;
class outer {
static class recurs {
public static int meth(){ //ввод системы счисления
Scanner str = new Scanner(System.in);
System.out.println("Введите систему счисления: ");
int meth = str.nextInt();
return meth;
}
public static String[] hex = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};
public static String inverse(int num) {
recurs m = new recurs();
if (num == 0)
return "";
else {
return inverse(num / meth()) + hex[num % meth()];
}
}
}
static class translate {
public static void main(String args[]) {
recurs r = new recurs();
Scanner str = new Scanner(System.in);
System.out.println("Введите число: ");
int num = str.nextInt();
System.out.println(r.inverse(num));
}
}
}
Проблема в использовании метода meth внутри метода inverse, класса recurs. Программа зациклена на введении системы счисления. Как правильно организовать вывод метод meth, для дальнейшей передачи числа в метод inverse ?
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
public static String inverse(int num, int base) {
if (num == 0)
return "";
else
return inverse(num / base, base) + hex[num % base];
}
...
public static void main(String args[]) {
Scanner str = new Scanner(System.in);
System.out.println("Введите число: ");
int num = str.nextInt();
int base = recurs.meth();
System.out.println(recurs.inverse(num, base));
}