gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 13:22:52 25 4
gpt4 key购买 nike

出于某种原因,“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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com