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(数字))正常