Аннотация и Наследование.выход выходит неправильно - PullRequest
0 голосов
/ 24 мая 2018

Если у кого-то еще возникают проблемы такого типа.Я оставляю свой пост для вас.

У меня возникли проблемы с абстракцией и наследованием.

Предполагается, что мой код выводит звездочки в виде прямоугольника, треугольника и параллелограмма.

Проблема в том, что треугольник и параллелограмм выглядят как прямоугольники.

Если кто-то может помочь мне найти проблему и объяснить, почему это происходит.

Паралелограмма

введите описание изображения здесь public String toString ()

{
    String output = "";

for (int i = 0; i < mHeight; i++)

{
        for (int j = 0; j < mPbase+ i; j++)

{ 
          output += "* ";


}

        output += "\n";
        for (int l = 0; l <= i; l++) 
        {
            output += " ";
        }

    }
    output += "The area of this Pall is "  + calculatedArea() + " square 
units.";
    return output;

1 Ответ

0 голосов
/ 24 мая 2018

Это потому, что в цикле по ширине и высоте вы не рассчитываете ширину для этого слоя.Если у меня ширина 5 и высота 5, выполнение стандартного двойного цикла for даст мне 5x5.Вместо этого попробуйте вычесть индекс высоты из ширины для внутреннего цикла for.Для Треугольника это как минимум распечатает перевернутый треугольник

@Override
public String toString() {
    String output = "";

    for (int i = 1; i <= mHeight; i++) {
        for (int j = 1; j <= mTbase - i; j++) {
            output += "* ";
        }
        output += "\n";
    }
    output += "The area of this triangle is " + calculatedArea() + " square 
units.";
    return output;
}
...