-2
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;
}
}
오류는 부울
메신저 새로운 만들기 클래스는 그래서 더 idead이없는 개체를
및 circleClass
를 찾지 적절한 생성자 귀하의 오류를 찾는을 두 배로 변환 할 수 질수있다 마지막 오류가 무엇을 의미하는지. 도움 주셔서 감사합니다
1.'boolean calcArea','area','double'을 리턴하지만, 메소드는'boolean' 리턴을 기대합니다. 2. 당신의 매개 변수는'area'라고 불리지 만'inArea'는 아닙니다. 'diameter'와'inDiameter'도 마찬가지입니다. 또한'getDiameter'는 메소드이지만 액세스 가능한 변수처럼 호출하고 있습니다. 당신은 거기에 parathesis 'getDiameter()'을 잊어 버렸습니다. 3.'CircleClass (int, double)'생성자가 없으므로,'clone' 메소드는 거기서 새로운 인스턴스를 생성하고 리턴 할 수 없습니다. 하나를 만들거나 기존의 것을 사용하십시오. 'equals (Object inObject)'는'return'을 기대하는 동안'return'을 가지지 않습니다. – SomeJavaGuy