2015-12-15 2 views
-2

Это не домашнее задание, это упражнение в Java-книге, которую я изучаю сам. Постройте класс с кругом имен, который представляет собой круг в координатной плоскости. Поля класса должны быть длиной радиуса, dy координатами центра. Методы класса должны быть:Круговое упражнение Java?

getArea(): находит область круга

getPerimeter(): Находит периметр круга

moveCircle(): изменяет координаты центра окружности

modifyRadius(): Изменяет радиус окружности

private int x, y; 

public Circle() { 
    x = 0; 
    y = 0; 
    radius = 1; 
} 

public Circle(int x, int y, double radius) { 
    this.x = x; 
    this.y = y; 
    this.radius = radius; 
} 

public double getArea() { 
    return radius * radius * Math.PI; 
} 

public double getPerimeter() { 
    return 2 * radius * Math.PI; 
} 

Теперь, как я могу продолжить это? для moveCircle и ModifyRadius?

+1

просто добавить сеттеры для х, у и радиус – mxb

+1

сообщение подписи '' moveCircle' и ModifyRadius' также. – Tunaki

+0

Я думаю, что в вашем коде есть ошибка. Радиус Variabile должен быть объявлен другим в начале вашего класса. Что-то вроде этого: private int x, y, radius; –

ответ

0

В вашем классе должна быть переменная radius.

private int radius; 

Чтобы переместить круг, вы должны передать свое новое местоположение центра объекту. Затем он установит новую позицию.

public void moveCircle(int newX, int newY) { 
    this.x = newX; 
    this.y = newY; 
} 

Для изменения радиуса вы также можете использовать тот же метод.

public void ModifyRadius (double newRadius) { 
    this.radius = newRadius; 
} 

Другой способ заключается в создании сеттеры для переменных.

public void setX (int x) { 
    this.x = x; 
} 

public void setY (int y) { 
    this.y = y; 
} 

public void moveCircle (int x, int y) { 
    setX(x); 
    setY(y); 
} 

public void setRadius (double radius) { 
    this.radius = radius; 
} 
Смежные вопросы