import java.util.Scanner;
Demonstration of a solution to the classic Tower of Hanoi problem
@author
@version
public class TowerOfHanoi02{
public static void moveDisc( String from, String to){
System.out.println("Moving from " + from + " + to " + to);
}
public static void solve(int n,
String startingTower,
String tempTower,
String targetTower){
System.err.println("solve("+n+", " + startingTower + ", "+tempTower+", "+targetTower+")");
if(n == 0){
return;
}
solve(n-1, startingTower, targetTower, tempTower);
moveDisc(startingTower, targetTower);
solve(n-1, tempTower, startingTower, targetTower);
}
public static void main( String[] args ){
Scanner stdinScanner = new Scanner( System.in );
int numDiscs = 0;
System.out.print( "Please enter the number of discs: " );
numDiscs = stdinScanner.nextInt();
String startingTower = "tower 1";
String spareTower = "tower 2";
String endingTower = "tower 3";
solve( numDiscs, startingTower, spareTower, endingTower);
}
}