1. 程式人生 > >02方法 課後作業2

02方法 課後作業2

exti idt println cnblogs 9.png recursion out height input

【設計思想】:

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