package recursion1;

/* We have triangle made of blocks. The topmost row has 1 block, the next row
 * down has 2 blocks, the next row has 3 blocks, and so on. Compute recursively
 * (no loops or multiplication) the total number of blocks in such a triangle
 * with the given number of rows.
 *
 * triangle(0) -> 0
 * triangle(1) -> 1
 * triangle(2) -> 3
 */

class TriangleTest {
    public static void main(String[] args) {

	TriangleTest test = new TriangleTest();
	System.out.println(test.triangle(0));
	System.out.println(test.triangle(1));
	System.out.println(test.triangle(2));
    }

    public int triangle(int rows) {
		if (rows == 0) {
			return 0;
		} else {
			return triangle(rows - 1) + rows;
		}
    }
}
package recursion1;

/* We have triangle made of blocks. The topmost row has 1 block, the next row
 * down has 2 blocks, the next row has 3 blocks, and so on. Compute recursively
 * (no loops or multiplication) the total number of blocks in such a triangle
 * with the given number of rows.
 *
 * triangle(0) --> 0
 * triangle(1) --> 1
 * triangle(2) --> 3
 */

class TriangleTest {
    public static void main(String[] args) {

	TriangleTest test = new TriangleTest();
	System.out.println(test.triangle(0));
	System.out.println(test.triangle(1));
	System.out.println(test.triangle(2));
    }

    public int triangle(int rows) {
		if (rows == 0) {
			return 0;
		} else {
			return triangle(rows - 1) + rows;
		}
    }
}

Update TriangleTest.java