我正在制作一个从十进制转换为二进制、八进制和十六进制的程序。到目前为止,我只关注十进制到二进制部分。我的问题是,当我要求二进制文件将其转换为所述数字时,它们会垂直打印它们而不是像 010 那样水平打印。如果 y 输入大于 1024,我的 while 语句也不会停止执行,这是我想要的最高值能够被接受。
import java.util.Scanner;
public class DNS
{
public static void main(String[] args)
{
int y;
Scanner input = new Scanner( System.in);
do
{
System.out.println("java DisplayNumberSystems");
System.out.println("Enter a decimal value to display to: ");
y = input.nextInt();
for(int x=0; x <=y; x++)
{
convertToBinary(x);
}
}
while(y <=1024);
}
public static void convertToBinary(int x)
{
if(x >0)
{
convertToBinary(x/2);
System.out.print(x%2 + " ");
}
System.out.println("");
}
}