有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java数字到二进制到零计数器

所以我的程序是用来接受用户输入的,应该是1-511之间的数字。输入数字后,我的程序使用Integer.toBinaryString();将数字转换为该数字的二进制形式。然后,如果二进制输出不是9位,我想用0填充该二进制数的其余部分,直到其9位为止。所以我使用if语句来检查二进制文件的长度是否小于9,如果是,我将其设置为从二进制文件中减去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) 个答案

  1. # 1 楼答案

    大概您想在0之前加上前缀。有很多方法可以做到这一点。 单向:

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

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