Всему добрый вечер!

Я сейчас работаю над мини проектом/заданием на Java( консольный), который представляет систему набора сотрудников на работу. Я написал код, но мне нужен взгляд со стороны

и могли бы Вы посмотреть и указать на ошибки или может что-то требует улучшения/изменения( в общем рекомендации) ? Спасибо !
Код:
import java.util.ArrayList; //импорт класса ArrayList, который является динамическим массивом, который расширяется по мере необходимости
import java.util.Scanner; //импорт класса Scanner, который считывает данные, вводимые пользователем, и запоминает их
//класс о работнике и его атрибутах
class Worker { //атрибуты этого класса о работнике
String fullName; // имя и фамилия
int age; // возраст
String birthDate; // дата рождения
String jobPosition; // должность/вакансия
String email; // электронная почта
double salary; // зарплата
//создание конструктора для инициализации нового работника
Worker(String fullName, int age, String birthDate, String jobPosition, String email, double salary) {
// this ссылается на экземпляр класса, внутри которого оно используется
this.fullName = fullName; //инициализация имени
this.age = age; // инициализация возраста
this.birthDate = birthDate; //инициализация даты рождения
this.jobPosition = jobPosition; //инициализация должности
this.email = email; //инициализация эл. почты
this.salary = salary; //инициализация зарплаты
}
@Override //функция, которая позволяет подклассу/дочернему классу предоставлять конкретную реализацию метода, который уже был предоставлен одним из его суперклассов/родительских классов
public String toString() { //метод toString(), который возвращает строку, описывающую объект
return fullName + "\t" + age + "\t" + birthDate + "\t" + jobPosition + "\t" + email + "\t" + salary; // \t - символ табуляции
}
}
//главный класс
public class RecruitmentSystem {
static Scanner inputScanner = new Scanner(System.in); //создание объекта "сканер", который используется для чтения данных, которые вводятся
static ArrayList<Worker> workers = new ArrayList<>(); // создание списка, где хранятся объекты Worker
//метод, где можно увидеть список всех сотрудников
public static void displayWorkers() {
System.out.println("Список всех работников:");
System.out.println("............................................");
System.out.println("Полное имя\tВозраст\tДата рождения\tДолжность\tEmail\t\tЗарплата");
System.out.println("............................................");
for (int i = 0; i < workers.size(); i++) { //инициализация цикла for, где i начинается с 0. Цикл продолжается, пока i меньше размера workers (i++ увеличивает i на 1 после каждой итерации)
System.out.println((i + 1) + ". " + workers.get(i)); //get() используется для получения элемента указанного индекса в списке
}
System.out.println("............................................");
}
//метод, где можно редактировать/исправлять информацию/данные сотрудников
public static void fixWorker() {
System.out.println("Введите индекс работника для исправления данных: ");
int index = inputScanner.nextInt();
if (index > 0 && index <= workers.size()) {
Worker worker = workers.get(index - 1);
System.out.println("Редактирование данных работника: " + worker.fullName);
System.out.println("Введите новое имя и фамилию: ");
worker.fullName = inputScanner.next();
System.out.println("Введите новый возраст: ");
worker.age = inputScanner.nextInt();
System.out.println("Введите новую дату рождения: ");
worker.birthDate = inputScanner.next();
System.out.println("Введите новую должность: ");
worker.jobPosition = inputScanner.next();
System.out.println("Введите новую электронную почту: ");
worker.email = inputScanner.next();
System.out.println("Введите новую зарплату: ");
worker.salary = inputScanner.nextDouble();
System.out.println("Данные изменены.");
} else {
System.out.println("ERROR! Вы ввели неверный индекс.");
}
}
//метод, где можно добавить нового СОТРУДНИКА
public static void newWorker() {
System.out.println("Введите имя и фамилию нового работника:");
String fullName = inputScanner.next();
inputScanner.nextLine();
System.out.println("Введите возраст нового работника:");
int age = inputScanner.nextInt();
System.out.println("Введите дату рождения нового работника:");
String birthDate = inputScanner.next();
System.out.println("Введите должность нового работника:");
String jobPosition = inputScanner.next();
System.out.println("Введите электронную почту нового работника:");
String email = inputScanner.next();
System.out.println("Введите зарплату нового работника:");
double salary = inputScanner.nextDouble();
//создание нового сотрудника
Worker newWorker = new Worker(fullName, age, birthDate, jobPosition, email, salary);
workers.add(newWorker);
System.out.println("Новый сотрудник был добавлен в список всех работников.");
}
//метод для удаления работника
public static void deleteWorker() {
System.out.println("Введите индекс работника, чтобы удалить из списка:");
int index = inputScanner.nextInt();
if (index > 0 && index <= workers.size()) {
workers.remove(index - 1);
System.out.println("Работник был удален из списка.");
} else {
System.out.println("ERROR! Вы ввели неверный индекс.");
}
}
//Основной метод
public static void main(String[] args) {
char choice;
do {
System.out.println("Меню:");
System.out.println("1. Вывод списка всех работников");
System.out.println("2. Редактирование работника");
System.out.println("3. Добавление нового работника");
System.out.println("4. Удаление работника");
System.out.println("5. Выход из программы");
System.out.println("Выберите действие: ");
choice = inputScanner.next().charAt(0);
switch (choice) {
case '1':
displayWorkers();
break;
case '2':
fixWorker();
break;
case '3':
newWorker();
break;
case '4':
deleteWorker();
break;
case '5':
System.out.println("Программа завершила работу. Спасибо за использование.");
break;
default:
System.out.println("ERROR!");
}
} while (choice != 5);
}
}