/
Yuretz78
/
BookAuthor2
Обзор
Документация
Войти
/
Yuretz78
/
BookAuthor2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/Book.java
55 строк
2 KB
Yuretz78
create: Author.java, Book.java, Main.java
01 май 2026, 13:32
Верифицирован
01 май 2026, 13:32
ac3f3b0
Код
Авторство
О чём код?
public class Book { private String title; private int releaseYear; private Author author; // Поле теперь типа Author private int pages; public Book(String title, int releaseYear, Author author, int pages) { this.title = title; this.releaseYear = releaseYear; this.author = author; // Принимаем объект Author this.pages = pages; } // Метод для красивого вывода информации об объекте @Override public String toString() { return "Название: " + title + "\n" + "Автор: " + author.getName() + " " + author.getSurname() + "\n" + "Год выпуска: " + releaseYear + "\n" + "Страниц: " + pages; } public boolean isBig() { return pages > 500; } /** * Метод matches теперь использует метод contains из класса Author. * Поиск регистронезависимый. */ public boolean matches(String word) { String lowerCaseWord = word.toLowerCase(); boolean inTitle = title.toLowerCase().contains(lowerCaseWord); // Используем метод contains объекта author для проверки имени и фамилии boolean inAuthorInfo = author.contains(word); return inTitle || inAuthorInfo; } /** * Сложная формула расчета цены: * (Страницы * 3 * Корень из рейтинга), округлить вниз, но не меньше 250. */ public int estimatePrice() { double basePrice = pages * 3.0 * Math.sqrt(author.getRating()); // Округление вниз до целого числа int roundedPrice = (int) Math.floor(basePrice); // Применение ограничения минимальной цены return Math.max(roundedPrice, 250); } }