Может кто-то воспроизвести код джава там чи компиляция чи шо я хз, просто лень качать и разбиратся. Код написан ЧатомГпт, нужно заскринить просто результат .Если интересно то код должен быть для контрольной работы по предмету современные технологии ооп // Класс Album представляет альбом музыкальных треков. import java.util.ArrayList; import java.util.List; public class Album { // Название альбома и автор (главный исполнитель) private final String title; private final String mainAuthor; // Список треков, входящих в альбом private final List<MusicTrack> tracks = new ArrayList<>(); // Конструктор альбома public Album(String title, String mainAuthor) { this.title = title; this.mainAuthor = mainAuthor; } // Получить название альбома public String getTitle() { return title; } // Получить главного автора альбома public String getMainAuthor() { return mainAuthor; } // Получить список треков альбома public List<MusicTrack> getTracks() { return tracks; } // Добавить трек в альбом // Гарантируется, что один трек не добавится дважды public void addTrack(MusicTrack track) { if (track == null) { throw new IllegalArgumentException("Трек не может быть null."); } if (!tracks.contains(track)) { tracks.add(track); } } } // Класс MusicTrack представляет музыкальный трек. import java.util.ArrayList; import java.util.List; public class MusicTrack { private final String title; // Список авторов: первым добавляется автор альбома, затем – дополнительные авторы (если есть) private final List authors = new ArrayList<>(); // Ссылка на альбом, к которому принадлежит трек; гарантированно final, изменить нельзя private final Album album; /** * Конструктор трека. * @param title Название трека. * @param album Альбом, к которому принадлежит трек. * @param additionalAuthors Дополнительные авторы (могут отсутствовать). */ public MusicTrack(String title, Album album, String... additionalAuthors) { if (album == null) { throw new IllegalArgumentException("Альбом не может быть null."); } this.title = title; this.album = album; // Обязательно добавляем главного автора альбома authors.add(album.getMainAuthor()); // Если заданы дополнительные авторы, добавляем их for (String author : additionalAuthors) { if (author != null && !author.trim().isEmpty()) { authors.add(author); } } // Регистрируем данный трек в альбоме album.addTrack(this); } // Получить альбом, к которому принадлежит трек public Album getAlbum() { return album; } // Метод преобразования трека в строку согласно требованиям @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(title); if (authors.size() == 1) { sb.append(", автор: ").append(authors.get(0)); } else { sb.append(", авторы: ").append(String.join(", ", authors)); } return sb.toString(); } } // Класс Starter содержит метод main, демонстрирующий работу с классами Album и MusicTrack. public class Starter { public static void main(String[] args) { // Создаем альбомы согласно заданию Album albumKuklovod = new Album("Кукловод", "Металлов"); Album albumShosse = new Album("Шоссе к ООП", "Асид"); // Создаем треки: // Трек "Состояние объектов" с дополнительным автором "Янг" принадлежит альбому "Шоссе к ООП" MusicTrack track1 = new MusicTrack("Состояние объектов", albumShosse, "Янг"); // Трек "Шоссе к ООП" без дополнительного автора – используется только автор альбома MusicTrack track2 = new MusicTrack("Шоссе к ООП", albumShosse); // Трек "Одноразовый программист" с дополнительным автором "Бертон" принадлежит альбому "Кукловод" MusicTrack track3 = new MusicTrack("Одноразовый программист", albumKuklovod, "Бертон"); // Выводим информацию обо всех созданных треках System.out.println("Все песни:"); System.out.println(track1); System.out.println(track2); System.out.println(track3); // Выводим все треки альбома "Шоссе к ООП" используя ссылку на трек "Состояние объектов" System.out.println("\nТреки альбома \"Шоссе к ООП\":"); for (MusicTrack track : track1.getAlbum().getTracks()) { System.out.println(track); } } } JS // Класс Album представляет альбом музыкальных треков. import java.util.ArrayList; import java.util.List; public class Album { // Название альбома и автор (главный исполнитель) private final String title; private final String mainAuthor; // Список треков, входящих в альбом private final List<MusicTrack> tracks = new ArrayList<>(); // Конструктор альбома public Album(String title, String mainAuthor) { this.title = title; this.mainAuthor = mainAuthor; } // Получить название альбома public String getTitle() { return title; } // Получить главного автора альбома public String getMainAuthor() { return mainAuthor; } // Получить список треков альбома public List<MusicTrack> getTracks() { return tracks; } // Добавить трек в альбом // Гарантируется, что один трек не добавится дважды public void addTrack(MusicTrack track) { if (track == null) { throw new IllegalArgumentException("Трек не может быть null."); } if (!tracks.contains(track)) { tracks.add(track); } } } // Класс MusicTrack представляет музыкальный трек. import java.util.ArrayList; import java.util.List; public class MusicTrack { private final String title; // Список авторов: первым добавляется автор альбома, затем – дополнительные авторы (если есть) private final List authors = new ArrayList<>(); // Ссылка на альбом, к которому принадлежит трек; гарантированно final, изменить нельзя private final Album album; /** * Конструктор трека. * @param title Название трека. * @param album Альбом, к которому принадлежит трек. * @param additionalAuthors Дополнительные авторы (могут отсутствовать). */ public MusicTrack(String title, Album album, String... additionalAuthors) { if (album == null) { throw new IllegalArgumentException("Альбом не может быть null."); } this.title = title; this.album = album; // Обязательно добавляем главного автора альбома authors.add(album.getMainAuthor()); // Если заданы дополнительные авторы, добавляем их for (String author : additionalAuthors) { if (author != null && !author.trim().isEmpty()) { authors.add(author); } } // Регистрируем данный трек в альбоме album.addTrack(this); } // Получить альбом, к которому принадлежит трек public Album getAlbum() { return album; } // Метод преобразования трека в строку согласно требованиям @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(title); if (authors.size() == 1) { sb.append(", автор: ").append(authors.get(0)); } else { sb.append(", авторы: ").append(String.join(", ", authors)); } return sb.toString(); } } // Класс Starter содержит метод main, демонстрирующий работу с классами Album и MusicTrack. public class Starter { public static void main(String[] args) { // Создаем альбомы согласно заданию Album albumKuklovod = new Album("Кукловод", "Металлов"); Album albumShosse = new Album("Шоссе к ООП", "Асид"); // Создаем треки: // Трек "Состояние объектов" с дополнительным автором "Янг" принадлежит альбому "Шоссе к ООП" MusicTrack track1 = new MusicTrack("Состояние объектов", albumShosse, "Янг"); // Трек "Шоссе к ООП" без дополнительного автора – используется только автор альбома MusicTrack track2 = new MusicTrack("Шоссе к ООП", albumShosse); // Трек "Одноразовый программист" с дополнительным автором "Бертон" принадлежит альбому "Кукловод" MusicTrack track3 = new MusicTrack("Одноразовый программист", albumKuklovod, "Бертон"); // Выводим информацию обо всех созданных треках System.out.println("Все песни:"); System.out.println(track1); System.out.println(track2); System.out.println(track3); // Выводим все треки альбома "Шоссе к ООП" используя ссылку на трек "Состояние объектов" System.out.println("\nТреки альбома \"Шоссе к ООП\":"); for (MusicTrack track : track1.getAlbum().getTracks()) { System.out.println(track); } } }