[英]Convert decimal to binary using recursion
我得到以下代码:
public class decToBin {
public static void main(String args[]) {
int number = 32;
System.out.println(decToBinWrapper(number));
}
public static String decToBinWrapper(int number) {
return decToBin(number, "");
}
public static String decToBin(int number, String bin) {
if (number >= 1)
return decToBin(number / 2, bin + Integer.toString(number % 2));
else
return "0";
}
}
它应该将十进制转换为二进制,但是只显示“ 0”而不是二进制字符串。 有人可以告诉我我在做什么错吗?
您应该返回bin
变量:
else
return bin;
你也想在前面加上 Integer.toString(number % 2)
以前的字符串,而不是追加它:
return decToBin(number / 2, Integer.toString(number % 2) + bin);
else
return "0";
我认为您可能是指return bin
,因为您正在累积到该字符串中。 您只是在当前的实现中丢弃bin
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.