Ошибка FormatFlagsConversionMismatchException при печати массива
Получаю ошибку
Exception in thread "main" java.util.FormatFlagsConversionMismatchException: Conversion = s, Flags = 0
при печати массива
//print
for (int n = 0; n <= number; n++) {
System.out.format("%"+(number-n)*2+"s","");
for (int k = 0; k <= n; k++) {
System.out.format("%4d",array[n][k]);
}
System.out.println();
}
Подскажите пожалуйста, как исправить?
Ответы (1 шт):
Автор решения: Vadik
→ Ссылка
Выглядит так, что проблема в том, что number - n достигает значения 0, а в java запись %0s является некорректной для форматтера, что и приводит к указанной ошибке FormatFlagsConversionMismatchException.
Предполагаю, что вы хотели выйти раньше из цикла. Попробуйте написать n < number вместо n <= number в условии цикла for, тогда вы проитерируетесь ровно number раз, а не number + 1, так как нумерация идет с нуля.