java - (Java) 将十进制数转换为具有设定位数的二进制数

标签 java data-conversion

出于某种原因,“null”出现在我尝试转换为 8 位的位中,但我不知道为什么。我认为这是因为我没有将 numArray 设置为任何内容?

/*
OUTPUT
null00000011
10110100
null00101011
null00000010
10110101
null00101010
*/

如果我做错了什么,请在下面告诉我。

public class cache 
{
    static int [] ref = {3,180,43,2,181,42};
    static String numArr [] = new String[6];
    static String numArray [] = new String[6];
    static Scanner in = new Scanner(System.in);

    public static void main(String [] args)
    {
        //System.out.println(intToBinary(3,8));
        addZero(intToBinary());
        display();

    }

    public static String[] intToBinary()
    {

        for(int i =0 ;i<ref.length;i++)
        {
            //int num = in.nextInt();
            numArr[i]= Integer.toBinaryString(ref[i]);

        }
        return numArr;
    }
    public static void display()
    {
        for(int i=0; i< numArray.length;i++)
        {
            System.out.println(numArray[i]);
        }
    }
    public static void addZero(String[] me)
    {

        for(int i=0;i<me.length;i++)
        {
            int num = 8 - me[i].length();
            if(me[i].length()==8)
            {
                numArray[i]=me[i];
            }else
            {
                for(int j=0;j<num;j++)
                {
                    numArray[i]+="0";
                }
                numArray[i]+=me[i];
            }
        }
    }
}

最佳答案

问题是 null 加上 "0" 等于 null0

numArray[i]+="0";

你可以将其更改为

if (numArray[i].length() == 0)
  numArray[i]="0";
else
  numArray[i]+="0";

关于java - (Java) 将十进制数转换为具有设定位数的二进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43509306/

相关文章:

java - RefreshingView 与 ListView 有何不同?

java - public int delete (String table, String whereClause, String[] whereArgs); 中的whereClause如何工作?

java - 32位数字中1的个数

c++ - 将浮点值转换为 RGB 值

MATLAB 将值向量转换为 uint32

java - Spring & Java Generics - 在抽象 Controller 中获取一项服务的实例

java - java中的整数到十六进制给出很大的值(value)?

c# - 数据变化发生在单位换算中

python - 在 Python 中将嵌套的 JSON 转换为 CSV 文件

java - 为什么添加firebase后更新apk安装失败?