二进制到零计数器的数字

时间:2018-02-21 20:56:45

标签: java html encoding main zero

所以我的程序是用来输入应该是1-511的数字的用户输入。输入数字后,我的程序使用Integer.toBinaryString();将其编号转换为该编号的二进制形式。然后,如果二进制输出不是9位数,我想用0' s填充剩余的二进制数,直到它的9位长。所以我使用if语句来检查二进制文件的长度是否小于9,如果是,我将它设置为从binary.length中减去9,这样我们就可以知道需要添加多少个零。我目前卡住了,所以我只是做了一个打印声明,看看它到目前为止是否正常工作。但我不知道该怎么办才能完成它。

import java.util.Scanner;
public class Problem8_11 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);

    System.out.print("Enter one number between 0 and 511: ");
    int number = input.nextInt();
    int binaryZeros = 9;

    String binary = Integer.toBinaryString(number);

    if(binary.length() < 9) {
        int amountOfZeros = 9 - binary.length();
        System.out.print(amountOfZeros);
  }

}

我的问题:如何将零添加到二进制文件?

1 个答案:

答案 0 :(得分:0)

据推测,你想要在前面添加零。有很多方法可以做到这一点。 一种方式:

StringBuffer sb = new StringBuffer( Integer.toBinaryString(number) );
for ( int i=sb.length(); i < 9; i++ ) {
   sb.insert( 0, '0' );
}
String answer = sb.toString();

请务必处理无法将数字解析为整数的情况。