gpt4 book ai didi

java - 为什么我不能使用 String.format() 来格式化来自 Integer.toBinaryString() 的字符串?

转载 作者:行者123 更新时间:2023-11-30 05:51:55 25 4
gpt4 key购买 nike

inttime[] 是一个数组,其中已经包含一位整数值。第一个 for 循环寻求将每个整数转换为二进制字符串并将其存储到字符串数组 bintime[]。这部分工作正常,但是当我尝试运行下一个 for 循环时,出现非法格式转换错误。

for(int j = 0; j < inttime.length; j++){
bintime[j] = Integer.toBinaryString(inttime[j]);
}

for(int a = 0; a < bintime.length; a++){
System.out.println(String.format("%04d",bintime[a]));
}

如果 bintime[] 是一个 String 数组,为什么会发生这种情况?

最佳答案

如果 bintime 数组包含 Strings - 如您所述,并且您正在从 Integer.toBinaryString 分配给数组 - 您将看到 format 尝试将 String 打印为 int 的异常:%d 格式需要一个 int,而不是 String

如果您尝试填充以 2 为基数的 String 表示形式,请使用如下内容:

System.out.println(
String.format("%4s", Integer.toBinaryString(inttime[idx])).replace(' ', '0'));

格式字符串中的4表示String最小宽度,较短的字符串将用空格填充。

关于java - 为什么我不能使用 String.format() 来格式化来自 Integer.toBinaryString() 的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12223365/

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