Биг-задача 25 уровня (задание 13)

Задача — task2909 (да странно, но это действительно задача 25-го уровня)
Старое обозначение — level29.lesson15.big01

Не могу пройти 13 задание. Все выполнено в соответствии с условием. Валидатор выдает странные ошибки. Может кто разобрался, что нужно сделать, чтобы прошло.

Ошибка 1:
Необходимо создать метод printInfo() в классе User, который будет выводить имя и фамилию в консоль так же, как это делается в методе printUsers() класса UserHelper.
Метод создан. Все выводится.

Код класса User
public void printInfo() {
        System.out.println("Имя: " + getName());
        System.out.println("Фамилия: " + getSurname());
        printAdditionalInfo();
    }

    public void printAdditionalInfo() {
        if (getAge() < 16) System.out.println("Пользователь моложе 16 лет");
        else System.out.println("Пользователь старше 16 лет");
    }


Код класса UserHelper
public void printUsers() {
        userAnya.printInfo();
        userRoma.printInfo();
    }


Ошибка 2:
Перепиши метод calculateRate() класса UserHelper, чтобы метод не изменял входные параметры, а просто возвращал рассчитанное значение (метод должен возвращать double). Метод calculateRate() класса UserHelper должен существовать.
Метод переписан и существует. Входные параметры не меняет, возвращает double.

Соответствующий код класса UserHelper
public double calculateRate(double base, int age, boolean hasWork, boolean hasHouse) {
        double result = (age / 100) + base;
        result *= hasWork ? 1.1 : 0.9;
        result *= hasHouse ? 1.1 : 0.9;
        return result;
    }

7 комментариев

rembrand87
1) Попробуй так

public void printInfo() {
        System.out.println("Имя: " + getName());
        System.out.println("Фамилия: " + getSurname());
    }




public void printUsers() {
        userAnya.printInfo();
        userAnya.printAdditionalInfo();
        userRoma.printInfo();
        userRoma.printAdditionalInfo();
    }


2) age / 100 ты получаешь int, а не double.
kulikovman
Спасибо за ответ. Можете еще раз почитать второй вариант темы. Там более подробное описание ситуации со второй ошибкой. Вариант с double не прошел.
egor_w
Спасибо за подсказку
kulikovman
С первой ошибкой сам разобрался, но все равно спасибо.
Во втором случае, использовал double — не помогло. Ошибка та же самая.
kulikovman
Странно, при публикации темы, оба раза очень долго думало, потом ошибка с надписью «таймаут сервера». Думал не опубликовалось. Вторая тема более актуальная.
Meilee
В параметрах метода я не меняла AtomicDouble base, валидатор принял
Multik9922
Необходимо переписать метод calculateAverageAge() класса UserHelper без использования переменной age.
public int calculateAverageAge() {
User userUra = new User(«Юра», «Карп», 20);
return (userAnya.getAge() + userRoma.getAge() + userUra.getAge()) / 3;
}
Не проходит. Даже пытался второй конструктор без возраста создать — ничего. Как быть?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.