Hər kəsə günortan xeyir. İşlə JavaRush arasında Keti Sierra və Bert Bates tərəfindən “ Java Öyrənmək ” əsərini alıb oxumağa başladım. Bu gün dərslikdə başqa bir ev tapşırığı etdim. “ Sinif Üçbucaq ” problemini həll edə bilmədim, səh. 95. IntelliJ IDEA-da cavab mənə lazım olan kimi deyildi. İki saat sərf etdim, bütün mümkün variantları sınadım, heç nə alınmadı. Tüpürüb cavab axtarmağa getdi. Və mənim ilk qərarım var. Nəticədə, bu kodu IntelliJ IDEA-ya daxil etsəniz, cavab dərslikdə yazılan olmayacaq. Dərslikdə səhvCavablardan düzgün həll belə görünür:
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;
    }
}
Dərslik müəlliflərinin fikrincə, cavab belə olmalıdır:
треугольник 0, зона = 4.0
треугольник 1, зона = 10.0
треугольник 2, зона = 18.0
треугольник 3, зона = 28.0
y = 4, зона t5 = 343.0
Əslində cavab belə görünür:
треугольник 0, зона = 3.0
треугольник 1, зона = 4.0
треугольник 2, зона = 6.0
треугольник 3, зона = 7.0
y = 4, зона t5 = 343.0
Mənim yalnız iki mümkün cavabım var idi:
  1. Texniki natamamlıq və yazı səhvi.

  2. Kitab Java 5.0 ilə yazılmışdır, problemi Java 8.0-da həll edirəm

Zəhmət olmasa, təxminlərimdə nə dərəcədə haqlı olduğumu deyin.