JavaRush /Blog Java /Random-MS /Ralat dalam Pembelajaran Java oleh Kathy Sierra dan Bert ...
lookinbody
Tahap
Москва

Ralat dalam Pembelajaran Java oleh Kathy Sierra dan Bert Bates

Diterbitkan dalam kumpulan
Selamat tengahari semua. Di antara kerja dan JavaRush, saya membeli dan mula membaca " Belajar Java " oleh Kathy Sierra dan Bert Bates. Hari ini saya membuat satu lagi tugasan kerja rumah dalam buku teks. Saya tidak dapat menyelesaikan masalah " class Triangle " ms 95. Dalam IntelliJ IDEA jawapannya bukanlah yang saya perlukan. Saya menghabiskan dua jam, mencuba semua pilihan yang mungkin, tiada apa yang berhasil. Dia meludah dan pergi mencari jawapan. Dan ada keputusan pertama saya. Akibatnya, jika anda memasukkan kod ini ke dalam IntelliJ IDEA, jawapannya bukan yang ditulis dalam buku teks. Ralat dalam buku teksPenyelesaian yang betul dari jawapan kelihatan seperti ini:
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;
    }
}
Jawapannya, menurut pengarang buku teks, sepatutnya:
треугольник 0, зона = 4.0
треугольник 1, зона = 10.0
треугольник 2, зона = 18.0
треугольник 3, зона = 28.0
y = 4, зона t5 = 343.0
Sebenarnya jawapannya kelihatan seperti ini:
треугольник 0, зона = 3.0
треугольник 1, зона = 4.0
треугольник 2, зона = 6.0
треугольник 3, зона = 7.0
y = 4, зона t5 = 343.0
Saya hanya mempunyai dua jawapan yang mungkin:
  1. Ketidaklengkapan teknikal dan kesilapan menaip.

  2. Buku itu ditulis menggunakan Java 5.0, saya menyelesaikan masalah dalam Java 8.0

Tolong beritahu saya betapa betulnya saya dalam tekaan saya.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION