【发布时间】:2014-03-06 19:50:52
【问题描述】:
请解释一下如何将十进制转换为二进制:
import java.util.*;
public class decimalToBinaryTest {
public static void main(String[] args) {
int number;
Scanner in = new Scanner(System.in);
System.out.println("Enter a positive interger");
number = in.nextInt();
if (number < 0) {
System.out.println("Not a positive interger");
}
else {
System.out.print("Convert to binary is: ");
System.out.print(binaryform(number) + ".");
}
}
private static Object binaryform(int number) {
int remainder;
if (number <= 1) {
System.out.print(number);
return null;
}
remainder = number % 2;
binaryform(number >> 1);
System.out.print(remainder);
{
return " ";
}
}
}
我主要不了解私有静态对象。或返回“”。我真的不明白它是怎么做的,但它确实有效。输入 10 会显示:Convert to binary is: 1010.
我需要 >> 1 还是 *0.5
【问题讨论】:
-
它被称为递归。阅读更多:introcs.cs.princeton.edu/java/23recursion
-
似乎代码作者不知道,如果声明的方法返回类型为
void并决定返回 null 或" "之类的值,他可以使用不带值的return。此方法也以递归方式工作。首先它计算提醒,然后将位向右移动一位,(6) 0110>>1的结果是(3) 0011,这有点像整数除以 2。
标签: java binary decimal converter