JavaRush/Java блог/Архив info.javarush/Ошибка в учебнике "Изучаем Java" Кети Сьерра и Берт Бейтс...
lookinbody
11 уровень

Ошибка в учебнике "Изучаем Java" Кети Сьерра и Берт Бейтс

Статья из группы Архив info.javarush
участников
Всем доброго дня. В промежутках между работой и JavaRush, купил и начал читать "Изучаем Java" Кети Сьерра и Берт Бейтс. Сегодня делал очередное домашнее задание в учебнике. У меня никак не получалось решить задачу "class Triangle" стр. 95. В IntelliJ IDEA ответ выходил не тот, что нужно. Убил два часа, перебрал все возможные варианты, ничего не получилось. Плюнул, полез в ответы. А там мое самое первое решение. В итоге, если вбить этот код в IntelliJ IDEA, то ответ будет не тот который написан в учебнике. Ошибка в учебнике Правильное решение из ответов выглядит так:
public class Triangle
{
    double area;
    int height;
    int lenght;
    public static void main(String[] args)
    {
        int x = 0;
        Triangle [] ta = new Triangle[4];
        while (x < 4)
        {
            ta[x] = new Triangle();
            ta[x].height = (x + 1) * 2;
            ta[x].lenght = x + 4;
            ta[x].setArea();
            System.out.print("треугольник " +x+ ", зона");
            System.out.println(" = " + ta[x].area);
            x = x + 1;
        }
        int y = x;
        x = 27;
        Triangle t5 = ta[2];
        ta[2].area = 343;
        System.out.print("y = " + y);
        System.out.println(", зона t5 = " + t5.area);
    }
    void setArea()
    {
        area = (height + lenght) / 2;
    }
}
Ответ по мнению авторов учебника должен быть таким:
треугольник 0, зона = 4.0
треугольник 1, зона = 10.0
треугольник 2, зона = 18.0
треугольник 3, зона = 28.0
y = 4, зона t5 = 343.0
В реальности ответ выглядит так:
треугольник 0, зона = 3.0
треугольник 1, зона = 4.0
треугольник 2, зона = 6.0
треугольник 3, зона = 7.0
y = 4, зона t5 = 343.0
У меня возникло только два варианта ответа:
  1. Техническая не доработка и опечатка.

  2. Книга писалась по версии Java 5.0, я решаю задачу в Java 8.0

Подскажи пожалуйста насколько я прав в своих догадках.
Комментарии (5)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Николай Седых
Уровень 2
9 мая 2022, 13:13
Друзья, всем привет! А у меня другой вопрос : понять не могу головоломку "куча проблем", страница 96. Объячните, кто-нибудь, пожалуйста, почему мы приравниваем ссылки к ссылкам? Может я что-то не понимаю
blacky
Уровень 23
6 мая 2015, 22:56
Нашел две ошибки в этом коде:
int lenght; должно быть int length;
Вторая серьёзная:
area = (height + length) / 2;
в учебнике не сумма, а произведение:
area = (height * length) / 2;
tanzwud
Уровень 34
6 мая 2015, 23:19
Не совсем уверен в каком языковом исполнении книжка. Глянул по приколу нормальный английский вариант. Там да криво написано слово длина, но вместо сложения умножения все ок(page 92). Книга старая там куча ошибок. Вот их список
Your text to link...
Это только потвержденные
blacky
Уровень 23
6 мая 2015, 23:27
Да, я тоже смотрел список ошибок.
Просто в коде lookinbody опечатка. Вместо умножения у него сложение.
В английском издании Head First Java 2Ed — это страница 65.
А в русском — это 95я страница.
mrzzzio
Уровень 30
5 мая 2015, 20:23
Сначала я, не вникая в код, решил что это опечатка при переводе и посмотрел в оригинал. Там ответы аналогичные. Проверил в IDE ответы как у тебя. Версия джавы тут не при чем, даже решив в уме ответы не сходятся.