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);
}
}
【程序结果截图】
//
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步