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);
}
}
【程序结果截图】
//