JavaRush /Java Blog /Random-TW /Kathy Sierra 和 Bert Bates 的《學習 Java 中的錯誤》
lookinbody
等級 11
Москва

Kathy Sierra 和 Bert Bates 的《學習 Java 中的錯誤》

在 Random-TW 群組發布
大家下午好。在工作和 JavaRush 之間,我購買並開始閱讀 Kathy Sierra 和 Bert Bates 所寫的《學習 Java》。今天我又做了課本上的作業。我無法解決第 95 頁的「class Triangle」問題。在 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中解決了這個問題

請告訴我我的猜測有多正確。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION