2016-02-18 3 views
-3

Прежде всего, здесь требования моего назначения:Нужна помощь на некоторых Java домашних задания создания кругов

Создайте класс Circle, который содержит:

  • частного поле двойных данных с именем радиуса ,
  • общественный конструктор, создающий круг с заданным радиусом.
  • общедоступный метод getRadius(), который возвращает радиус этого круга.
  • общедоступный метод compareCircle(Circle c), который возвращает true, если радиус указанного окружности тот же и радиус этого круга.
  • a общественный метод setRadiusTheSame(Circle c), который изменяет радиус этого круга так же, как радиус указанного круга.

Написать тестовую программу, которая создает два круга с радиусами 18 и 5. распечатывает радиуса для каждого круга, проверки и отпечатки, если две окружности равны, а затем вызывает (с Circle) метод compareCircle и распечатывает результат. Затем вызовите метод setRadiusTheSame (Circle c). Затем распечатайте все снова!

Мне нужна помощь при написании метода compareCircle(Circle c) и метода setRadiusTheSame(Circle c). Все остальное компилируется и работает.

Вот мой код до сих пор мой круг программы:

public class Circle {   

    private double radius; 

    public Circle() { 
     radius = 18; 
    } 

    public Circle(double r) { 
     radius = r; 

    } 

    public double getRadius() { 
    return radius; 
    } 
} 

И вот моя TestCircle программа до сих пор:

public class TestCircle { 
    public static void main(String[] args) { 

     Circle c1 = new Circle(); 

     System.out.println("The circle has radius of " 
     + c1.getRadius()); 

     Circle c2 = new Circle(5); 

     System.out.println("The circle has radius of " 
     + c2.getRadius()); 
    } 
} 

Заранее спасибо!

ответ

0

Требование "public compareCircle (Circle c) метод, который возвращает true" фактически пишет сигнатуру метода для вас. Какой тип Java поддерживает значение «true»? public TypeThatReturnsTrueOrFalse compareCircle (Круг круга) {// материал

Подставьте правильный тип для 'TypeThatReturnsTrueOrFalse'.

Для тела рассмотрите требование «если радиус заданного круга одинаковый и [sic] радиус этого круга» - как вы попадаете в «радиус заданного круга»? circle.getRadius()

и для этого круга: внутри кода просто «getRadius()».

Итак: 'если (circle.getRadius() == getRadius()) {... что-то вернуть ...}'

Требование говорит "возвращает истину" для этого условия, так что должно дать вы намекаете о «чем-то». Но ждать! Условие «circle.getRadius() == getRadius()» уже оценивает либо «true», либо «false», поэтому вы можете напрямую вернуть это выражение. Выполнение 'if (somethingTrueOrFalse) {return true; } else {return false; } 'глупо. Просто «возвращай что-нибудь».

0

Вы не сказали, в чем проблема, с которой вы сталкиваетесь, поэтому люди безумны, что вы относитесь к SO как к службе написания кода. Плохой тон.

  • Добавить compareCircle(Circle c) в Circle и сравнить радиусы, например, return this.radius == c.getRadius();
  • добавить setRadiusTheSame(Circle c) к Circle и установите радиус на новый радиус, например, this.radius = c.getRadius();
  • Наконец: Написать тестовую программу, которая создает два круга радиусов 18 и 5. Распечатывает радиус для каждого круга, проверяет и печатает, если оба круга равны, а затем вызывает метод compareCircle (Circle c) и выводит результат. Затем вызовите метод setRadiusTheSame (Circle c). Затем распечатайте все снова!

Надеюсь, это поможет.

0

вы можете создать булев метод для сравнения 2 окружности

public boolean isEqual(Circle c1, Circle c2) 
{ 
    boolean status = true; 
    if(c1.getRadius() != c2.getRadius()) 
     status = false 

    return status; 
}