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. Penyelesaian 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:
-
Ketidaklengkapan teknikal dan kesilapan menaip.
-
Buku itu ditulis menggunakan Java 5.0, saya menyelesaikan masalah dalam Java 8.0
GO TO FULL VERSION