我有一个int数组,我试图将其转换为字符串数组,然后添加前导零,但是我在IDE中遇到错误,并且我不明白为什么,将不胜感激。
int[] dos = new int[size];
...向dos添加值...
String intTemp[] = new String[dos.length];
String delivery[] = new String[dos.length];
for (int j = 0; j < intTemp.length; j++)
{
intTemp[j] = Integer.toString(dos[j]);
delivery[j] = String.format("%04d", intTemp[j]);
}
答案 0 :(得分:1)
您正在将int
转换为String
:
intTemp[j] = Integer.toString(dos[j]);
,然后在此处尝试将该字符串转换为数字:
delivery[j] = String.format("%04d", intTemp[j]);
您应该删除这两行并将其替换为:
delivery[j] = String.format("%04d", dos[j]);
并删除intTemp[]
变量。
答案 1 :(得分:1)
问题出在这行
delivery[j] = String.format("%04d", intTemp[j]);
您尝试将前导零添加到字符串值。用int值更改
delivery[j] = String.format("%04d", dos[j]);
答案 2 :(得分:1)
您很亲密,但我认为您的步骤太多了。
intTemp[j] = Integer.toString(dos[j]);
不需要,因为String.format()
将为您完成转换:
String intTemp[] = new String[dos.length];
String delivery[] = new String[dos.length];
for (int j = 0; j < intTemp.length; j++) {
delivery[j] = String.format("%04d", dos[j]);
}