Java Convert to binary with loop仅显示数字,不显示二进制

Java Convert to binary with loop仅显示数字,不显示二进制,java,Java,这个想法是,程序将显示数字及其二进制等价物,但它只显示数字和最后的一个二进制,怎么了 public class Convert { public static void main(String[] args) { int number; for (number = 0; number < 4095; number++) { System.out.println("Number is :" + number);

这个想法是,程序将显示数字及其二进制等价物,但它只显示数字和最后的一个二进制,怎么了

public class Convert {

    public static void main(String[] args) {
        int number;
        for (number = 0; number < 4095; number++) {
            System.out.println("Number is :" + number);
        }
        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 remainder;
    }
}
公共类转换{
公共静态void main(字符串[]args){
整数;
用于(数字=0;数字<4095;数字++){
System.out.println(“编号为:”+Number);
}
System.out.print(“转换为二进制为:”);
系统输出打印(二进制格式(数字));
}
私有静态对象二进制格式(整数){
整数余数;
如果(数量>1);
系统输出打印(剩余){
}
返回剩余部分;
}
}
如下更改

for(number=0;number<4095;number++){

System.out.println("Number is :"+ number);
System.out.print("Convert to binary is:");
System.out.print(binaryform(number));
}
for(number=0;number更改如下

for(number=0;number<4095;number++){

System.out.println("Number is :"+ number);
System.out.print("Convert to binary is:");
System.out.print(binaryform(number));
}
for(number=0;number您可以使用

Integer.toBinaryString(number));
你可以用

Integer.toBinaryString(number));
在这里:

System.out.print("Convert to binary is:");
您不在
for
循环中,因此它将只打印数字和最后一个数字的二进制等价物。

在这里:

System.out.print("Convert to binary is:");

你不在
for
循环中,因此它只会打印出数字和最后一个数字的二进制等价物。

当有内置库时,你为什么要使用自己的二进制计算?如何实现?在这个实验室中。@Dan4o他指的是用户000001建议的方法:使用预定义的方法
Integer.tobinarysting(数字)
而不是定义自己的方法
binaryForm(数字)
。当有内置库时,为什么要使用自己的二进制计算?如何实现?在本实验室中@Dan4o他指的是user000001建议的方法:使用预定义的方法
Integer.toBinaryString(数字)
而不是定义自己的方法
二进制格式(数字)
。因为在for循环中,你应该为每个数字做任何你想做的事情。在循环结束时,数字将是4095,它将退出循环。因此,为你打印的二进制文件是4095。代码可以工作,但大约从2500开始,而不是从0开始,现在有什么问题吗?二进制文件是13个数字,但它们应该是12……。@Dan4o it do start位于0。但是,为了节省内存,它很可能只显示最近的x行。此外,您的
binaryForm
方法是错误的。@Dan4o这是因为内存泄漏或执行内存不足。您可以将其写入文件并进行检查,或只是增加内存并进行测试。如果您将循环中的数字从4095更改为200,则您将使用它是从哪里打印出来的0@Dan4o整数。toBinaryString(数字))是OK,因为在for循环中,你应该为每个数字做任何你想做的事情。在循环结束时,数字将是4095,它将退出循环。因此,为你打印的二进制文件是4095。代码可以工作,但大约从2500开始,不是从0开始,现在怎么了?二进制文件是13个数字,但它们应该是12……。@Dan4o it does start在0处。但是,为了节省内存,它很可能只显示最近的x行。此外,您的
binaryForm
方法是错误的。@Dan4o这是因为内存泄漏或执行内存不足。您可以将其写入文件并进行检查,或只是增加内存并进行测试。如果您将循环中的数字从4095更改为200,则您将看到它是从0@Dan4o整数。toBinaryString(数字))正常