Мой профессор сказал, что классы контейнеров не должны вводиться или выводиться.
В ОО-проекте существует общий принцип, называемый Разделение проблем . Класс должен делать то, что является его "заботой", а не делать то, что не является его "заботой".
(Посудомоечная машина моет посуду. Обогрев микроволновых ужинов не имеет значения.)
В проекте, который вы реализуете, целью класса-контейнера является содержание объектов. Ввод или вывод объектов не является его задачей. Это (предположительно) относится к классу FileManager
или к другому классу.
Это разумное дизайнерское решение для вашего учителя, и, вероятно, то, как я бы его разработал. В любом случае, это то, что ваш учитель сказал делать; то есть "требования". Следовательно, именно так должен работать ваш код.
(я думаю, это означает, что нельзя использовать System.out.println)
Это пример того, что ваш контейнер не должен ... в этом проекте.
Язык программирования Java не настаивает на том, чтобы приложения разрабатывались должным образом, но по мере накопления опыта вы обнаружите, что хороший дизайн имеет много преимуществ, особенно когда вы имеете дело со сложными приложениями.