104年普考程式設計概要

三、如下程式碼所構成的方法/ 函數 (method/function),在呼叫時,使用recursiveFlowControl(3, “ss”, “dd”, “aa”),請問該方法被呼叫執行後,顯示結果為何?如為語法有誤或執行時期發生中斷,請說明原因,並請修正錯誤或引起中斷的程式,讓程式可以正常執行結束並顯示結果。System.out.println( );會將小括號中的字串顯示到螢幕輸出裝置。(15分)

void recursiveFlowControl(int num, String s1, String s2, String s3)

{ System.out.println(“... I am here ...”);

if (num == 1)

{   System.out.println(“num==1, Move from ” + s1 + “ to ” + s2); }

else

{   recursiveFlowControl(num-1, s1, s3, s2);

System.out.println(“num!=1, Move from ” + s1 + “ to ” + s2);

recursiveFlowControl(num-1, s3, s2, s1);

}

} // End of recursiveFlowContorl

package test1_1;

public class Main {

    public static void main(String[ ] args) {

        recursiveFlowControl(3, "ss", "dd", "aa");

    }

    static void recursiveFlowControl(int num, String s1, String s2, String s3) {

        System.out.println("... I am here ...");

        if (num == 1) {

            System.out.println("num==1, Move from " + s1 + " to " + s2);

        }

        else {

            recursiveFlowControl(num-1, s1, s3, s2);

            System.out.println("num!=1, Move from " + s1 + " to " + s2);

            recursiveFlowControl(num-1, s3, s2, s1);

        }

    } // End of recursiveFlowContorl

}

執行結果

... I am here ...

... I am here ...

... I am here ...

num==1, Move from ss to dd

num!=1, Move from ss to aa

... I am here ...

num==1, Move from dd to aa

num!=1, Move from ss to dd

... I am here ...

... I am here ...

num==1, Move from aa to ss

num!=1, Move from aa to dd

... I am here ...

num==1, Move from ss to dd

說明

104年普考程式設計概要第三題

arrow
arrow
    文章標籤
    普考程式設計概要
    全站熱搜

    jacksaleok 發表在 痞客邦 留言(0) 人氣()