package com.javarush.task.task05.task0521;
/*
Вызов конструктора из конструктора
*/
public class Circle {
public double x;
public double y;
public double radius;
public Circle(double x, double y, double radius) {
this.x = x;
this.y = y;
this.radius = radius;
}
public Circle(double x, double y) {
this (x, y, 10.0);
this.x = x;
this.y = y;
this.radius = 10.0;
//напишите тут ваш код
}
public Circle() {
this(5, 5, 1);
}
public static void main(String[] args) {
Circle circle = new Circle();
System.out.println(circle.x + " " + circle.y + " " + circle.radius);
Circle anotherCircle = new Circle(10, 5);
System.out.println(anotherCircle.x + " " + anotherCircle.y + " " + anotherCircle.radius);
}
}
Пока не прописал this.radius = 10.0
И this (x, y, 10.0); - ни в какую не принимало решение, было указано просто 10.
Почему в таком случае в конструкторе по умолчанию радиус написан просто 1, без точки?
Что за выборочное правило?Виталий
1 уровень
Не пойму, почему решилось
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
RuslK QA Automation Engineer
25 июня 2020, 02:46
потомучто Радиус это double not int. 10 и 10.0 это разные числа и ответ будет разных в этих вариантах, дробная часть теряется если будет просто 10.
0
Виталий
25 июня 2020, 07:23
Почему в таком случае в конструкторе по умолчанию радиус написан просто 1, без точки?
0
Анастасия
25 июня 2020, 00:25
Может потомучто у вас прописаны ненужные переменные в конструкторе? Там нужна только первая строка
0