JavaRush /בלוג Java /Random-HE /שגיאה בלימוד ג'אווה מאת קתי סיירה וברט בייטס
lookinbody
רָמָה
Москва

שגיאה בלימוד ג'אווה מאת קתי סיירה וברט בייטס

פורסם בקבוצה
צהריים טובים כולם. בין העבודה ל-JavaRush, קניתי והתחלתי לקרוא את " לימוד ג'אווה " מאת קתי סיירה וברט בייטס. היום עשיתי עוד מטלת בית בספר הלימוד. לא הצלחתי לפתור את הבעיה " משולש כיתה " עמ' 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
היו לי רק שתי תשובות אפשריות:
  1. חוסר שלמות טכנית ושגיאת הקלדה.

  2. הספר נכתב באמצעות Java 5.0, אני פותר את הבעיה ב-Java 8.0

בבקשה תגיד לי כמה אני צודק בניחושים שלי.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION