Java打印金字塔

1.无格式的金字塔

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

package goldentower;

public class goldenTower1
{
    public static void main(String[] args)
    {
        int i,j;
        for(i=1;i<=6;i++)
        {
            for(j=1;j<=i*2-1;j++)
            {
                System.out.print("*");
            }
                System.out.println();
        }
    }
}

金字塔每行*个数为 1,3,5,7,9…. 2n-1(n为第几行)

那么需要两个变量控制,i变量控制当前的打印行;j变量控制这一行的打印*个数。嵌套循环即可。

2.带格式的金字塔

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

这样的金字塔相较于上面1这种金字塔而言,其实每行前面就是多了几个空格。

比如,打第一行绿色点之前,需要打5个空格;第二行需要4个空格;第三行需要3个空格;…第六行需要0个空格。即5,4,3,2,1,0(k=n-i,n为总行数,i为当前是第几行,k是这一行要打几个空格)

因此,需要三个变量控制,i变量控制当前的打印行;j变量控制这一行的打印*个数;k变量控制这一行打印的空格数。嵌套循环即可。

package goldentower;

public class goldenTower2 {
    public static void main(String[] args) {
        int i,j,k;
        for(i=1;i<=6;i++) {
            for(k=1;k<=6-i;k++)
                System.out.print(" ");
                for(j=1;j<=2*i-1;j++)
                    System.out.print("*");
                    System.out.println();
        }
    }
}