java-汉诺塔问题求解

package digui;

import java.util.*;

public class hanoi {

public static int count=0;

public static void main(String[]args)

{

System.out.println("please enter the number:");

Scanner scan=new Scanner(System.in);

int n=scan.nextInt();

String source=new String();

String destination=new String();

String auxiliary=new String();

System.out.println("please enter the source :");

source=scan.next();

System.out.println("please enter the destination:");

destination=scan.next();

System.out.println("please enter the auxiliary:");

auxiliary=scan.next();

hanoi(source,destination,auxiliary,n);

}

public static void hanoi(String from,String to,String auxiliary,int n)

{

if(n==1)

{

count++;

System.out.print("step"+count+":");

System.out.println("move the disk from  "+from+"  to  "+to);

}

else

{

hanoi(from,auxiliary,to,n-1);

count++;

System.out.println("step"+count+":"+"move the disk from  "+from+"  to  "+to);

hanoi(auxiliary,to,from,n-1);

}

}

}


本文出自 “hagar” 博客,谢绝转载!

你可能感兴趣的:(java-汉诺塔问题求解)