สวัสดีตอนบ่ายทุกคน. ระหว่างที่ทำงานกับ JavaRush ฉันซื้อและเริ่มอ่าน “ Learning Java ” โดย Kathy Sierra และ Bert Bates วันนี้ฉันทำการบ้านอีกงานในหนังสือเรียน ฉันไม่สามารถแก้ปัญหา " 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
ฉันมีเพียงสองคำตอบที่เป็นไปได้:
-
ความไม่สมบูรณ์ทางเทคนิคและการพิมพ์ผิด
-
หนังสือเล่มนี้เขียนโดยใช้ Java 5.0 ฉันแก้ปัญหาใน Java 8.0
GO TO FULL VERSION