Не уверен, в чем проблема, читая другие ответы и комментарии, я подозреваю, что вы хотите отобразить цифры 0 с добавлением:
System.out.printf(" %02d", ary2[i]);
не 0-дополнено, 2 "места", как и другие уже писали:
System.out.printf(" %2d", ...
Я ставлю пробелы в начале ... но только мои предпочтения
Вы можете использовать какой-то другой символ в качестве разделителя для пробела, чтобы увидеть, что происходит.
Что-то вроде System.out.printf("^%2d", ary2[i]);
Если вы хотите избежать пробела в начале или конце строки, вы должны разделить вывод
System.out.printf("%2d", ary2[0]); // no space here
for(int i = 1; i < ary2.length; i++)
{
System.out.printf(" %2d", ary2[i]);
}
или сделать что-то подобное (не мое предпочтение)
for(int i = 0; i < ary2.length; i++)
{
System.out.printf("%s%2d", (i == 0 ? "" : " "), ary2[i]);
}