10進数から2進数、8進数、16進数に変換するプログラムを作成しています。これまでのところ、これでは10進数から2進数の部分にのみ焦点を当てています。私の問題は、バイナリが上記の数値に変換するように要求すると、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("");
}
}