[英]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.