【发布时间】:2013-01-24 22:20:21
【问题描述】:
我正在尝试使用 Java 将用户输入的十进制数转换为二进制数。
我遇到了错误。
package reversedBinary;
import java.util.Scanner;
public class ReversedBinary {
public static void main(String[] args) {
int number;
Scanner in = new Scanner(System.in);
System.out.println("Enter a positive integer");
number=in.nextInt();
if (number <0)
System.out.println("Error: Not a positive integer");
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);
}
remainder= number %2;
binaryform(number >>1);
System.out.print(remainder);
{
return null;
} } }
如何在 Java 中将十进制转换为二进制?
【问题讨论】:
-
如果您发现错误,请与我们分享。
-
Long.toBinaryString(Double.doubleToRawLongBits(d));参考stackoverflow.com/questions/6359847/…
-
由于某种原因,它编译但我没有看到它打印出二进制形式@_@它看起来像这里出于某种原因:输入一个正整数2转换为二进制是:1000000(永远零..)在 reversedBinary.ReversdBinary.binaryform 的 java.io.PrintStream.print(Unknown Source)处的 java.io.PrintStream.write(Unknown Source)处的线程“main”java.lang.StackOverflowError 中的异常(ReversdBinary.java: 30) 在 reversedBinary.ReversdBinary.binaryform(ReversdBinary.java:36) 在
-
这里没有小数点。输入已经是二进制的。您所做的只是更改表示形式,可能是 ASCII。不清楚你在问什么。