gpt4 book ai didi

java - 将零与字符串连接起来

转载 作者:行者123 更新时间:2023-12-01 17:14:59 25 4
gpt4 key购买 nike

我试图将零附加到字符串中,使其成为 32 位数字。但输出不显示附加的零。为什么会这样?

    System.out.print("\nEnter the linear Address (32bit) :\t");
String linear_hex= sc.nextLine();
String linear_bin= Integer.toBinaryString(Integer.parseInt(linear_hex,16));

if(linear_bin.length() != 32)
{

for(int i= linear_bin.length(); i<=32; i++)
linear_bin= 0+linear_bin;
}

输出:

Enter the linear Address (32bit) :  12345678
Linear Address = 10010001101000101011001111000

我还尝试了 linear_bin= "0"+linear_bin;"0".concat(linear_bin); 但输出仍然相同。

最佳答案

你的代码对我来说工作得很好:

System.out.print("\nEnter the linear Address (32bit) :\t");
Scanner sc = new Scanner(System.in);
String linear_hex= sc.nextLine();
String linear_bin= Integer.toBinaryString(Integer.parseInt(linear_hex,16));

if(linear_bin.length() != 32) {
// Should be i < 32 instead of i <= 32, else you end up with an extra 0
// Also consider using StringBuilder instead of String concatenation here
for(int i= linear_bin.length(); i < 32; i++)
linear_bin= 0+linear_bin;
}
System.out.println(linear_bin);

输入:

123456

输出:

00000000000100100011010001010110

但是,您可以使用 String.format() 方法更轻松地实现此目的。删除 if block ,并添加以下打印语句:

System.out.println(String.format("%32s", linear_bin).replace(' ', '0'));

关于java - 将零与字符串连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22617641/

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