用Java练习题打印三角形和菱形 部分

用Java练习打印三角形和菱形 部分

package com.pei;

public class PrintTriangle {

    private static final int n = 7;                      //图形总行数
    private static final int tmpUp = n / 2 + 1;  //打印菱形中的上行的三角形行数
    private static final int tmpDn = n / 2;        //下行倒三角行数

    public static void main(String[] args) {
        prin();

        prinUp();
        prinDn();

    }

    private static void prin() {
        // TODO print
        for (int i = 0; i < n; i++) {
            for (int j = n - i - 1; j > 0; j--) {
                System.out.print(" ");
            }
            for (int k = 0; k < 2 * i + 1; k++) {
                System.out.print("*");
            }
            System.out.println("");
        }
    }


    //打印菱形中的上行的三角形
    private static void prinUp() {
        for (int i = 0; i < tmpUp; i++) {
            for (int j = tmpUp - i - 1; j > 0; j--) {
                System.out.print(" ");
            }
            for (int k = 0; k < 2 * i + 1; k++) {
                System.out.print("*");
            }
            System.out.println("");
        }
    }

 

    //打印菱形中的下行的三角形
    private static void prinDn() {
        for (int i = tmpDn; i > 0; i--) {
            for (int j = 0; j < tmpUp - i; j++) {
                System.out.print(" ");
            }
            for (int k = 2 * i - 1; k > 0; k--) {
                System.out.print("*");
            }
            System.out.println("");
        }
    }

}

 

 

效果:

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