汉诺塔小游戏

 1 public class hanoitower{
 2     public static void main(String[] args){
 3 
 4         Tower tower = new Tower();
 5         tower.move(6,'A','B','C');
 6 
 7 
 8     }
 9 }
10 
11 class Tower{
12     //方法
13     //num 表示移动的个数,a,b,c分别表示A塔,B塔,C塔
14     public void move(int num,char a,char b,char c){
15         //如果只有一个盘 num = 1
16         if(num == 1){
17             System.out.println(a + "->" + c);
18         }else{
19             //如果有多个盘,可以看成两个,最下面的和最上面的所有盘(num -1)
20             //(1)先移动和上面所有的盘到b,借助c
21             move(num - 1,a,b,c);
22             //(2)把最下面的这个盘,移动到c
23             System.out.println(a + "->" + c);
24             //(3)再把b塔的所有盘,移动到c,借助a
25             move(num - 1,b,a,c);
26         }
27     }
28 }

 

posted @ 2024-08-15 09:06  勤奋的小番茄  阅读(6)  评论(0编辑  收藏  举报