Преобразование массива int в массив строк с ведущими нулями - PullRequest
0 голосов
/ 27 июня 2019

У меня есть массив int, который я пытаюсь преобразовать в строковый массив, а затем добавить начальные нули, однако в моей среде IDE появляются ошибки, и я не понимаю, почему, любая помощь приветствуется.

    int[] dos = new int[size];

... добавление значений к дос ...

    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 ]

1 голос
/ 27 июня 2019

Проблема с этой строкой

delivery[j] = String.format("%04d", intTemp[j]);

Вы пытаетесь добавить начальные нули к строковому значению. Измените его значением int

delivery[j] = String.format("%04d", dos[j]);
1 голос
/ 27 июня 2019

Вы близки, но я думаю, что вы делаете один шаг слишком много.

 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]);
}
1 голос
/ 27 июня 2019

Вы конвертируете int в String здесь:

intTemp[j] =  Integer.toString(dos[j]);

и затем пытаетесь преобразовать эту строку в число здесь:

delivery[j] = String.format("%04d", intTemp[j]);

Вы должны удалить этидве строки и замените их на:

delivery[j] = String.format("%04d", dos[j]);

И удалите переменную intTemp[].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...