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

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

    }


梦里花落0921
浏览 70回答 3
3回答

FFIVE

你很接近,但我认为你做的太多了。&nbsp;intTemp[j] =&nbsp; 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++) {&nbsp; &nbsp; delivery[j] = String.format("%04d", dos[j]);}

翻翻过去那场雪

问题出在这一行delivery[j]&nbsp;=&nbsp;String.format("%04d",&nbsp;intTemp[j]);您尝试将前导零添加到字符串值。用int值改变它delivery[j]&nbsp;=&nbsp;String.format("%04d",&nbsp;dos[j]);

蛊毒传说

您正在将 转换int为String:intTemp[j]&nbsp;=&nbsp;&nbsp;Integer.toString(dos[j]);然后尝试在此处将该字符串转换为数字:delivery[j]&nbsp;=&nbsp;String.format("%04d",&nbsp;intTemp[j]);您应该删除这两行并将它们替换为:delivery[j]&nbsp;=&nbsp;String.format("%04d",&nbsp;dos[j]);并删除intTemp[]变量。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java