/** solves the towers of Hanoi puzzle */ class TowersApp { static int nDisks = 3; public static void main(String[] args) { doTowers(nDisk, 'A', 'B', 'C'); } /** Recursive method to solve the towers of Hanoi puzzle @param topN number of disk to move - integer @param from tower number which a disk move from - character @param to tower number which a disk move to - character @param inter tower number which is used as an temporary buffer */ public static void doTowers(int topN, char from, char inter, char to) { if (topN == 1) System.out.println("Disk 1 from " + from + " to " + to); else { doTowers(topN-1, from, to, inter); //from --> inter System.out.println("Disk" + topN + " from " + from + " to " + to); doTowers(topN-1, inter, from, to); //inter --> to } } // end of doTowers() } // end class TowersApp