0

having a problem with a program im working on with inheritance. suppose to output the area, perimeter, and area i think i have it all set up correctly but its not out putting correctly here is the the superclass that inherites to the client form.

public class CIRCLE extends CLIENT
{
    public double radius;
    public double perimeter;
    public double area;

    public CIRCLE(double newRadius, double newPerimeter, double newArea)
    {
        setRADIUS(newRadius);
        setPERIMETER(newPerimeter);
        setAREA(newArea);
    }
    public double getRadius()
    {
        return radius;
    }
    public double getPerimeter()
    {
        return perimeter;
    }
    public double getArea()
    {
        return area;
    }
    public void setRADIUS(double newRadius)
    {
        newRadius = radius;
    }
    public void setPERIMETER(double newPerimeter)
    {
        newPerimeter = 2 * Math.PI * radius;
    }
    public void setAREA(double newArea)
    {
        newArea = Math.PI * Math.pow(radius,2);

    }

}

And here is my CLient...

public class CLIENT 
{

 public static void main(String[] args)
 {
    System.out.println("--------------------");
    CIRCLE cTotal = new CIRCLE (5.0,7.0,2.0);
    System.out.println("Circle = " + cTotal);
 }

}

the output i am getting dosent make since
here it is :

.6.0_30 <Default> - <Default>--------------------

Circle = CIRCLE@addbf1

Process completed.

What is wrong?

3
Contributors
3
Replies
4
Views
4 Years
Discussion Span
Last Post by Thermalnuke
0

well you are trying to print out the object you initiated, first you must call the constructor like you have, then call:

cTotal.setArea();
System.out.println(cTotal.getArea());

I also think your setArea is wrong, it should set the variable for the instance which you called 'area' to the new area not the variable that you pass to it??

0

The output: CIRCLE@addbf1 is from the default toString() method. Add a toString() method to the CIRCLE class that returns what you want to see printed.

0

very nice! i got it! just had to add the toString method:

    public String toString()
    {
        return("Radius = "+radius + ",Perimeter = "+perimeter + ",Area = "+area);
    }

and i changes the newRadius = radius to radius = newRadius.

i am now getting:

--------------------
Circle = Radius =5.0,Perimeter =0.0,Area =0.0

Process completed.

I think my equations are wrong. BUT im pretty sure they are right?????!!!!

any thoughts?

thank you very much guys

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.