Увеличение стороны прямоугольника в Java

192
15 февраля 2018, 14:39

Есть задание:

public void enlarge(int nx, int ny)

Увеличивает стороны Rectangle в (nx, ny) раз при сохранении координат левой верхней вершины.

Есть тестовый класс для проверки:

public class TestRectangle {   
    @Test
    public void testEnlargeRectangle() {
        Rectangle rect = new Rectangle(10, 20, 30, 40);
        rect.enlarge(3, 5);
        assertEquals(10, rect.getTopLeft().getX());
        assertEquals(20, rect.getTopLeft().getY());
        assertEquals(70, rect.getBottomRight().getX());
        assertEquals(120, rect.getBottomRight().getY());
    }
}

Я чесно не до конца понимаю задание. Мне нужно левую верхнюю вершину оставить на месте и просто сдвинуть правый нижний угол прямоугольника, и как следствие он растянется. Как разобраться?

Answer 1
  1. Вычисляете ширину приямоугольника (правая сторона - левая сторона)
  2. Увеличиваете ширину в N раз
  3. Обновляете правую сторону (левая сторона + новая ширина)

Повторяете для высоты.

READ ALSO
Позиция курсора консоли в Java

Позиция курсора консоли в Java

Вот сейчас думаю напишу-ка консольный движок на Java для крестиков-ноликов, в C# реализовал довольно легко, ибо там есть управление курсором,...

146
Как исключить повторное срабатываение replaceAll где это не надо?

Как исключить повторное срабатываение replaceAll где это не надо?

Вот кусок кода который использую, не могу найти решения, как сделать чтобы все значение которые пишутся (вставляются в моём случае) с новой...

170
Оператор выбора в Java. If в Java [дубликат]

Оператор выбора в Java. If в Java [дубликат]

На данный вопрос уже ответили:

133