public double area() { // return the sum of two areas // minus twice the area of the trunk's circular top double total = trunk.area() + branches.area(); double rad = trunk.getRadius(); double circle = Math.PI*rad*rad; return total - 2*circle; }
// 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 ; } // more methods public double volume() { // return the sum of two volumes return trunk.volume() + branches.volume(); } public double area() { // return the sum of two areas // minus twice the area of the trunk's circular top double total = trunk.area() + branches.area(); double rad = trunk.getRadius(); double circle = Math.PI*rad*rad; return total - 2*circle; } public void grow( double rate ) { } }
Trees grow every year. Finish the method that increases all dimensions of a
tree by rate
.
For example, if rate
is 0.10 and the height of the cone is 100,
then change the height of the cone to 110. Make similar changes to the other three dimensions of a tree.
This is probably not a realistic model of tree growth.
Fill in the method.