使用递归Java将十进制转换为二进制

use*_*954 0 java binary recursion decimal

我试图简单地转换为Binary与递归.我在return语句中遇到问题.这会编译,但在运行时会出现溢出错误.我不知道要返回什么(或者如果我的陈述是错的)来防止这个错误.

谢谢!

public static String convertToBinary(int number)
{
  if(number > 0)
    {
      convertToBinary(number / 2);
      convertToBinary((number % 2 ));
     }

   return convertToBinary((number));
}
Run Code Online (Sandbox Code Playgroud)

Chr*_*ris 5

你的问题是在数字/ 2和数字%2上调用convertToBinary我相信.这段代码对我来说很好,并没有你所拥有的那样:

import java.util.Scanner;

public class DecToBin {

public static void main(String[] args) {

    int input;
    Scanner scan = new Scanner(System.in);

    System.out.print("Enter number to convert to binary: ");
    input = scan.nextInt();
    convert(input);

}

public static void convert(int num) {
    if (num>0) {
        convert(num/2);
        System.out.print(num%2 + " ");
    }
}

}
Run Code Online (Sandbox Code Playgroud)