迭代的经典算法
package com.acxiom.ejbws.test;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
/**@Author rainwu
*@Version 2011-9-28
*/
public class Hanio {
public static void main(String[] args) throws NumberFormatException, IOException {
System.out.println("Begin...");
// BufferedReader bReader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please input the number of tower:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// int n = Integer.parseInt(bReader.readLine());
System.out.println("The num is:" +n);
Hanio.move(n, 'A', 'B', 'C');
System.out.println("End...");
}
public static void move(int n,char fromTower,char toTower,char midTower){
if(n<1){
System.out.print("The condition is not meet");
}else if(n==1){
System.out.println(fromTower + "--->" + toTower);
}else{
move(n-1,fromTower, midTower, toTower );
System.out.println(fromTower + "--->" + toTower);
// move disk n from the fromTower to the toTower;
move(n-1,midTower, toTower, fromTower);
}
}
}