10 進数から 2 進数へのコンバーターに問題があります。String を使用して数値を取得し、ループを実行して「1」を探します。それは仕事をしますが、最後にあまりにも多くのゼロを出力します。過剰な 0 を取り除くために何を探す必要がありますか?
System.out.print("Please enter Decimal number: ");
int decimalNum = kybd.nextInt();
power = 0;
expo = 2;
sum = 0;
String finalNumber = "";
for (int i = decimalNum; i >= 1; i--)
{
if(decimalNum%2 != 0)
{
finalNumber += '1';
}
else
finalNumber += '0';
decimalNum = decimalNum/2;
}//end of decimalLoop
for(int i = finalNumber.length()-1; i>=0; i--)
{
if(finalNumber.charAt(i)== '1')
{
//finalNumber = finalNumber + finalNumber.charAt(i);
System.out.print(finalNumber.charAt(i));
}
else
//finalNumber = finalNumber + finalNumber.charAt(i);
System.out.print(finalNumber.charAt(i));
}
10 進数を入力してください: 10
0000001010