02方法 课后作业2

【设计思想】:

1、定义一个函数void hanio(int n,String a,String b,String c)来实现盘子的转移,改变a,b,c得顺序,输出a-->c.

2、输入所移盘子的总数

3、调用函数hanio

【程序流程图】

【程序源代码】

import java.util.Scanner;

//  信1605-2  20163483  袁亚琴

class Recursion {
 public int n;
 public String a, b,c;
 void hanio(int n,String a,String b,String c)
 {
  if(n==1)
     System.out.println(a+"-->"+c);
  else
  {
   hanio(n-1,a,c,b);//第n-1步,将c上的盘子移到b上
   System.out.println(a+"-->"+c);
   hanio(n-1,b,a,c);//第n-2步,将a上的盘子移到b上
  }
 }
 
 public static void main(String[] args)
 {
  Recursion rec=new Recursion();
         int m;
         String a = "peg1",b="peg2",c="peg3";      
         System.out.println("input the numbers of diskes:");
         Scanner input=new Scanner(System.in);
         m=input.nextInt();
         System.out.println("The step to move "+m+" diskes:");  
         rec.hanio( m,a, b, c);
 }

}

【程序结果截图】

//

 

posted @ 2017-10-13 22:49  DaisyYuan  阅读(115)  评论(0编辑  收藏  举报