Как исключить последний инкремент?
Доброй ночи. Не совсем обычный вопрос: программа вычисляет сколько коробок(containers) потребуется для новогодних подарков(boxes).Проверка происходит одним линейным циклом for.Как только количество подарков в коробке превышает максимальную вместимость коробки, количество коробок увеличивается на 1. Казалось бы, задача совсем простая, но есть одна заноза:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int boxes = scanner.nextInt();
int container = 1;
int maxBoxesInContainer = 16;// макс. подарков в коробке
System.out.println("\tКонтейнер: " + container);
for (int i = 1; i <= boxes; i++) {
System.out.println("\t\tЯщик: " + i);
if (i % maxBoxesInContainer == 0) {
container++;
System.out.println("\tКонтейнер: " + container);
}
}
System.out.println("Необходимо:" + "\nконтейнеров - " + container + " шт.");
}
При введении числа подарков кратного максимальному(т.е. 16 , 32 , 48 и т.д.) программа выдает количество контейнеров на 1 больше требуемого,хотя после этого ничего не печатает. Вот пример output для 16 коробок:
Ящик: 15
Ящик: 16
Контейнер: 2
Необходимо:
контейнеров - 2 шт.
Хотя правильный ответ 1 контейнер. Не могли бы вы подсказать,как отредактировать последний ненужный инкремент в if?