學習發現 往人少的地方走

Saturday, November 14, 2009

Java Pyramid 金字塔 練習

很久沒寫程式了,也來試試看這個基礎實用的題目,
"輸入金字塔層級(n),用程式畫出金字塔圖案 "。

使用的程式語言Java (用什麼開發皆可 C,C++...),
訓練思考比較重要囉~(寫法百百種,以下是以最直覺的想法短時間實作)




*******************************************************************************
public class Pyramid_Test
{
    public static void main(String args[])
    {
        int n=Integer.parseInt(args[0]);      // 輸入數字,代表列數

        int p=n*2-1;     // 每列點數
        int istar;           // 開始列印*起點
        int inum=0;      // 列印*次數
        int i,j;

        boolean bflag=true; // 列印 * 或者 " "

       for( i=0 ; i<n ;i++)
        {
               istar=n-1-i;
               for( j=0 ; j < p && inum <= i ;j++)
               {
                   if(j >= istar && bflag==true)
                   {
                     System.out.print("*");
                     inum=inum+ 1;
                     bflag=false;
                   }
                   else
                   {
                    System.out.print(" ");
                    bflag=true;
                   }
               }
               inum=0;        //進入下一層,列印*次數歸零
               bflag=true;   //進入下一層,列印* 或者 " " 還原初始值
               System.out.println(""); // 換行
        }
    }
}

*******************************************************************************