Solve Hanoi puzzle with Java

Solve Hanoi puzzle

The Tower of Hanoi is a mathematical puzzle. It consists of three rods, and a number of disks of different sizes which can slide onto any rod. The puzzle starts with the disks in a neat stack in ascending order of size on one rod, the smallest at the top, thus making a conical shape.

Referened from http://en.wikipedia.org/wiki/Tower_of_Hanoi

public class Main {
  static int nDisks = 3;
/* w ww  .  ja  v  a  2 s .c  om*/
  public static void main(String[] args) {
      hanoiTower(nDisks, 'A', 'B', 'C');
  }

  public static void hanoiTower(int topN, char src, char inter, char dest) {
    if (topN == 1)
        System.out.println("Disk 1 from " + src + " to " + dest);
    else {
        // src to inter
        hanoiTower(topN - 1, src, dest, inter);
        // move bottom
        System.out.println("Disk " + topN + " from " + src + " to " + dest);
        //inter to dest
        hanoiTower(topN - 1, inter, src, dest);
    }
  }
}

The code above generates the following result.





















Home »
  Java Tutorial »
    Development »




Java Algorithms
Java Clipboard
Java Compiler
Java Desktop
Java Virtual Machine
Java Math
OS
Random
Java Robot
Java RuntimeMXBean
Java Timer
Java UUID
Java Internationalization