// return the sum of two volumes public double volume() { return trunk.volume() + branches.volume(); }
// Tree.java // public class Tree { // instance variables private double x, y, z; private Cone branches; private Cylinder trunk; // constructor public Tree( double trRad, double trHeight, double brRad, double brHeight, double x, double y, double z) { trunk = new Cylinder( trHeight, trRad ); branches = new Cone( brHeight, brRad ); this.x = x; this.y = y; this.z = z; } // methods public String toString() { double totalHeight = branches.getHeight() + trunk.getHeight(); double width = branches.getRadius(); return "Tree. Height: " + totalHeight + ", width: " + width ; } // return the sum of two volumes public double volume() { return trunk.volume() + branches.volume(); } public double area() { } }
Calculating the area is trickier. If you assume the tree is one solid figure the area of the circle at the top of the cylinder and its intersection with the base of the cone are not part of the solid's area. So that twice that circular area must be subtraced from the sum, once for the cylinder and once for the cone.
Recall that both Cone
and Cylinder
have an area()
method.
Cylinder
has a getRadius()
method which may be useful.
Fill in the method.