1 /**
2 A triangular shape composed of stacked unit squares like this:
3 []
4 [][]
5 [][][]
6 . . .
7 */
8 public class Triangle
9 {
10 private int width;
11
12 /**
13 Constructs a triangular shape.
14 @param aWidth the width (and height) of the triangle
15 */
16 public Triangle(int aWidth)
17 {
18 width = aWidth;
19 }
20
21 /**
22 Computes the area of the triangle.
23 @return the area
24 */
25 public int getArea()
26 {
27 if (width <= 0) { return 0; }
28 if (width == 1) { return 1; }
29 Triangle smallerTriangle = new Triangle(width - 1);
30 int smallerArea = smallerTriangle.getArea();
31 return smallerArea + width;
32 }
33 }