2014年11月21日 星期五

[Java] 好題目(1)

這題是在網路上看到,覺得不分享給大家實在太可惜。

















※函式名稱我有稍做修改。

這題是是在考For迴圈的概念,看倌門先動動腦,思考看看答案是是多少?








答案是 ABDCBDCB

這其實是一個for迴圈的基本觀念。

for (int i=0;i<2;i++)
{
       敘述;
}

for迴圈第一步為設定計數變數起始值,相當於紅字部份

for (int i=0;i<2;i++)
{
       敘述;
}

第二步檢查條件

for (int i=0;i<2;i++)
{
       敘述;
}

第三步若條件成立,執行迴圈內敘述


for (int i=0;i<2;i++)
{
       敘述;
}

第四步,計數變部 +  間隔值 (例如++ 或是+=2 等等)

for (int i=0;i<2;i++)
{
       敘述;
}

接下來回到第2步,檢查條件是否成立,直到條件不成立結束。



若將for 迴圈觀念套用在此題目,會感到無比雷同。

第一部設定初始值。  (此時己輸出A  ,i =0)

 for (onlyPrint('A'); onlyPrint('B') && (i < 2); onlyPrint('C'))
{
            i++;
          onlyPrint('D');
}

第二步判斷條件 (此時己輸出AB  ,i =0)

 for (onlyPrint('A'); onlyPrint('B') && (i < 2); onlyPrint('C'))
{
            i++;
           onlyPrint('D');
}

第三步執行敘述  (此時己輸出ABD ,i =1)

 for (onlyPrint('A'); onlyPrint('B') && (i < 2); onlyPrint('C'))
{
            i++;
      onlyPrint('D');
}

第四步計數器+間隔值 (此時己輸出ABDC  ,i =1)

 for (onlyPrint('A'); onlyPrint('B') && (i < 2); onlyPrint('C'))
{
            i++;
           onlyPrint('D');
}

第五步判斷條件 (此時己輸出ABDCB ,i =1)

 for (onlyPrint('A'); onlyPrint('B') && (i < 2); onlyPrint('C'))
{
            i++;
           onlyPrint('D');
}

第六步執行敘述  (此時己輸出ABDCBD,i =2)
 for (onlyPrint('A'); onlyPrint('B') && (i < 2); onlyPrint('C'))
{
            i++;
      onlyPrint('D');
}
第七步計數器+間隔值 (此時己輸出ABDCBDC,i =2)
 for (onlyPrint('A'); onlyPrint('B') && (i < 2); onlyPrint('C'))
{
            i++;
           onlyPrint('D');
}
第八步判斷條件,離開迴圈。  (此時己輸出ABDCBDCB,i =2)
 for (onlyPrint('A'); onlyPrint('B') && (i < 2); onlyPrint('C'))
{
            i++;
           onlyPrint('D');
}

以下是流程圖





















沒有留言:

張貼留言