import java.util.List; import java.util.ArrayList; public class RecursiveCounter { // build a list of the values from 0 to maxNum (exclusive) public static List buildCounter(int maxNum) { List nums = new ArrayList(); buildCounterHelper(nums, maxNum, 0); return nums; } // actual recursive helper method private static void buildCounterHelper(List vals, int maxNum, int curVal) { if (curVal == maxNum) { return; } else { vals.add(curVal); buildCounterHelper(vals, maxNum, curVal + 1); } } public static void main(String[] args) { List nums = buildCounter(20); System.out.println(nums); } }