im пытается создать класс CircleClass, но у меня есть некоторые ошибки, которые я не могу опустить. могу ли я помочь найти ошибки?Создание класса Circle с конструкторами, аксессуарами и мутаторами
import java.util.*;
public final class CircleClass
{
//class fields
private int diameter;
private double area;
/*Default Constructor
*IMPORT none
*EXPORT address of new CircleClass object
*ASSERTION area 0 diameter 0 is default
*/
public CircleClass()
{
area = 0.0;
diameter = 0;
}
/*copy constructor
*IMPORT inCircle (CircleClass)
*EXPORT address of new CircleClass object
*ASSERTION creates an object with an identical object state as the import
*/
public CircleClass(CircleClass inCircleClass)
{
area = inCircleClass.getArea();
diameter = inCircleClass.getDiameter();
}
/*alternate constructor
*IMPORT inDiameter (integer)
*EXPORT address of new Circle object
*ASSERTION creates an object if imports are valid or fails otherwise
*/
public CircleClass (int inDiameter)
{
if (validateNumber (inDiameter))
{
diameter = inDiameter;
area = calcArea (diameter);
}
else
{
throw new IllegalArgumentException("invalid value");
}
}
/*SUB setArea
*IMPORT area (real)
*EXPORT none
*ASSERTION sets the area if import is valid
*/
public void setArea (double area)
{
if (area >= 0.0)
{
area = inArea;
}
else
{
throw new IllegalArgumentException("invalid area value");
}
}
/*SUB setDiameter
*IMPORT inDiameter (integer)
*EXPORT none
*ASSERTION sets diater if valid
*/
public void setDiameter (int inDiameter)
{
if (validateNumber(inDiameter))
{
diameter = inDiameter;
}
else
{
throw new IllegalArgumentException("invalid diameter");
}
}
//ACCESSORS
public int getDiameter()
{
return diameter;
}
public double getArea()
{
return area;
}
//SUB equals
//IMPORT diameter
//EXPORT same (boolean)
//ASSERTION same = true if diameter is same as inDiameter
public boolean equals (int diameter)
{
boolean same = false;
if (diameter == inDiameter)
{
same = true;
}
return same;
}
//SUB equals
//IMPORT inObject
//EXPORT same (booleana)
public boolean equals (Object inObject)
{
boolean same = false;
if (inObject instanceof CircleClass)
{
CircleClass inCircle = (CircleClass) inObject;
same = (diameter == inCircle.getDiameter);
}
}
//SUB clone
//IMPORT none
//EXPORT cloneCircleClass (Object)
//ASSERTION returns cloned object of current object
public Object clone()
{
CircleClass cloneCircleClass;
cloneCircleClass = new CircleClass (diameter, area);
return cloneCircleClass;
}
//PRIVATE SUB validateNumber
//IMPORT inDiameter
//EXPORT valid
//ASSERTION number should be gtreater or equal to 0
private boolean validateNumber (int inDiameter)
{
return (inDiameter >= 0);
}
//SUB calcArea
//IMPORT inDiameter
//EXPORT area
//ASSERTION calculates area
private boolean calcArea (int diameter)
{
double radius, area;
radius = (double)diameter/2.0;
area = Math.PI * radius * radius;
return area;
}
}
ошибки я получаю логический наклоняет быть преобразована в два раз
найти ошибочные символы
и нет подходящего конструктора найден для circleClass
им новый класс решений объектов, так что у меня нет idead что означает последняя ошибка. спасибо за помощь
1. 'boolean calcArea', вы возвращаете' area', 'double', но метод ожидает' boolean' return. 2. Ваш параметр называется 'area', а не' inArea'. то же самое для 'diam' и' inDiameter'. Также 'getDiameter' - это метод, но вы вызываете его как доступную переменную. вы забыли паратезис 'getDiameter()'. 3. Нет конструктора 'CircleClass (int, double)', поэтому ваш метод clone не может создавать и возвращать новый экземпляр там. Либо создайте, либо используйте один из существующих. 'equals (Object inObject)' не имеет 'return', пока он ожидает' return'. – SomeJavaGuy