将int数组转换为带前导零的字符串数组

时间:2019-06-27 13:35:34

标签: java

我有一个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]);
    }

3 个答案:

答案 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]);
}