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);
}
}
【程序結果截圖】
//
02方法 課後作業2