java User Defined Classes and Objects

user3456504

1.modify the first constructor to compute the diameter and the area.

2.modify the second constructor to setRadius and calcuate area without calling the setRadius

make two new methods in the class

i. findArea

ii. findDiameter.

modify testcircle to accommodate change.

    public class Circle 
{
private double radius, area, diameter;
    public Circle() 

    {
        radius = 1;
        diameter = radius * 2;
        area = Math.PI * radius * radius;
    }
    public Circle(double myradius) 

    {
        myradius = radius;
        area = Math.PI * radius * radius;
    }

    public void setRadius(double aRadius)
    {
        this.radius = aRadius;
        diameter = radius * 2;
        area = Math.PI * radius * radius;
    }

    public void CalArea(double aArea)
    {
        area = Math.PI * radius * radius;
    }

    public void CalDiameter(double aDiameter)
    {
        diameter = radius * 2;
    }

     public double getRadius()
    {
        return radius;
    }
    public double getDiameter()
    {
        return diameter;
    }
    public double getArea()
    {
       return area;
    } 
}        


    public class TestCircle {

public static void main(String[] args) 
{
    Circle circle1; //Declaring an object(instance) of the class Circle.
        double myRadius, myDiameter, myArea;

        circle1 = new Circle();  

        myRadius = circle1.getRadius();
        System.out.println(myRadius);

        circle1.setRadius(5);
        myRadius = circle1.getRadius();
        System.out.println(myRadius);

        myDiameter = circle1.getDiameter();
        System.out.println(myDiameter);

        myArea = circle1.getArea();
        System.out.println(myArea);

        Circle circle2;

        circle2 = new Circle(2.5);

        myRadius = circle2.getRadius();
        System.out.println(myRadius);

        myDiameter = circle2.getDiameter();
        System.out.println(myDiameter);

        myArea = circle2.getArea();
        System.out.println(myArea);       
     }
}

i've done the first task but calcuating area without calling the setRadius seems a bit tricky for me, or im going about it the wrong way. Would really appreciate the help/advice.

update

playing around with it i think i found my problem

    public class Circle 
    {
    private double radius, area, diameter;
    public Circle() 
    {
        radius = 1;
        diameter = radius * 2;
        area = Math.PI * radius * radius;
    }
    public Circle(double myradius) 
    {
        this.radius = myradius;
    }

    public void setRadius(double aRadius)
    {
        this.radius = aRadius;
        diameter = radius * 2;
        area = Math.PI * radius * radius;
    }

    public double findDiameter() 
      {
        return radius*2;
      }

    public double findArea() 
    {
        return Math.PI * radius * radius;
    }

     public double getRadius()
    {
        return radius;
    }
    public double getDiameter()
    {
        return diameter;
    }
    public double getArea()
    {
       return area;
    } 
    }

then i made the necessary changes to the main

Peter Walser

This homework exercise means to teach you about the states on an object, and how to avoid redundancy.

As I see it: the goal is to

  1. be able calculate diameter and area, and store it in the object
  2. get rid of the redundant states and calculate the values when needed

The circle has one free attribue (the radius) and two derived attributes (diameter and area) which can be calculated anytime when the radius is known. That means you can just store the radius, and implement the findArea/findDiameter methods such that the result is calculated from the radius and then returned:

public double findDiameter() {
    return radius*2;
}

public double findArea() {
    return Math.PI * radius * radius;
}

Note (naming conventions): the prefix get indicates that the value can be accessed locally and in an inexpensive way. When the value is expensive to be calculated or loaded, use a different prefix (that way you know about the costs when using the same value often, and can store it as an intermediate result). That's why the methods to be written in this example are prefixed by find (although I'd use a different prefix personally, that one looks like the data is retrieved by searching it, and in the concrete case here I'd consider the calcluation to be cheap enough to use a get prefix).

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

User-defined class objects in Java TreeMap

From Dev

Why user defined exception classes are preferred/important in java?

From Dev

Getting a closed interval subset for user defined classes in Java

From Dev

Cannot compare user-defined objects for sorting (Java 8)

From Dev

Cannot compare user-defined objects for sorting (Java 8)

From Dev

How to declare an unknown sized array of user defined objects in java script

From Java

Type hints with user defined classes

From Dev

Type hints with user defined classes

From Dev

HashMap fails for user defined objects?

From Dev

User defined packages in Java

From Dev

Basics of classes and objects: Java

From Dev

What is the default hash of user defined classes?

From Dev

How to Insert Data to the Database? - User Defined Classes

From Dev

What is the default hash of user defined classes?

From Dev

Need objects of inheriting classes to be visible before classes are defined

From Dev

Java array of objects with defined keys

From Dev

Ownership of memory in user-defined classes deriving from Qt classes

From Dev

Returning user defined objects using dependency injection

From Dev

C++ atomic for pointers to user defined objects

From Dev

User Defined Runtime Attributes and Associated Objects

From Dev

jump over user defined text objects in vim

From Dev

Creating Set of objects of user defined class in python

From Dev

User defined Objects equality always returns false

From Dev

How to add user defined objects to LinkedList?

From Dev

Creating SafeArray with user defined type objects

From Dev

Creating a DataFrame out of nested user defined objects

From Dev

Creating Set of objects of user defined class in python

From Dev

Creating a DataFrame out of nested user defined objects

From Dev

Java Array of user defined type

Related Related

  1. 1

    User-defined class objects in Java TreeMap

  2. 2

    Why user defined exception classes are preferred/important in java?

  3. 3

    Getting a closed interval subset for user defined classes in Java

  4. 4

    Cannot compare user-defined objects for sorting (Java 8)

  5. 5

    Cannot compare user-defined objects for sorting (Java 8)

  6. 6

    How to declare an unknown sized array of user defined objects in java script

  7. 7

    Type hints with user defined classes

  8. 8

    Type hints with user defined classes

  9. 9

    HashMap fails for user defined objects?

  10. 10

    User defined packages in Java

  11. 11

    Basics of classes and objects: Java

  12. 12

    What is the default hash of user defined classes?

  13. 13

    How to Insert Data to the Database? - User Defined Classes

  14. 14

    What is the default hash of user defined classes?

  15. 15

    Need objects of inheriting classes to be visible before classes are defined

  16. 16

    Java array of objects with defined keys

  17. 17

    Ownership of memory in user-defined classes deriving from Qt classes

  18. 18

    Returning user defined objects using dependency injection

  19. 19

    C++ atomic for pointers to user defined objects

  20. 20

    User Defined Runtime Attributes and Associated Objects

  21. 21

    jump over user defined text objects in vim

  22. 22

    Creating Set of objects of user defined class in python

  23. 23

    User defined Objects equality always returns false

  24. 24

    How to add user defined objects to LinkedList?

  25. 25

    Creating SafeArray with user defined type objects

  26. 26

    Creating a DataFrame out of nested user defined objects

  27. 27

    Creating Set of objects of user defined class in python

  28. 28

    Creating a DataFrame out of nested user defined objects

  29. 29

    Java Array of user defined type

HotTag

Archive