Итак, у меня есть код, который преобразует десятичное число в двоичный. Я использую для него рекурсивный алгоритм, но я не могу заставить его делать то, что я хочу. Вот код:Преобразование из десятичного в двоичное в Java
import java.util.*;
public class binaryAddition {
public static int toBinary(int a){
int bin = 0;
int remainder = 0;
if(a >= 1){
toBinary(a/2);
bin = (a%2);
}
return bin;
}
public static void main(String[] args){
System.out.println(toBinary(3));
System.out.print(toBinary(3));
}
}
Так что я хочу, чтобы вернуть бинарный раствор, так что я могу сохранить его в качестве переменной в моей основной метод. Однако мой текущий вывод дал бы мне только последнюю цифру двоичного числа. Я использовал номер 3 как тестовый пример, и я получаю 1 в качестве вывода для методов print и println. Почему это и как я могу это исправить?
Большое спасибо!
Код * отбрасывает * результаты рекурсивных вызовов. Сделайте что-то с результатом 'toBinary' в методе. – user2864740
http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#toBinaryString(int) – StackFlowed