Java打印金字塔

一、先打印半个金字塔

//*
//**
//***
//****
//*****
public class JinZiTa{
    public static void main(String[] args){
        //定义打印金字塔层数
        int storey = 5;
  		for(int i = 1;i <= storey;i++ ){//控制层数

			//控制打印每层*的个数
			for(int j = 1;j <= i;j++){

				System.out.print("*");
			}

			//打印完每层换行
			System.out.println();
		}
   
    }

}

二、打印整个金字塔

public class JinZiTa{
    public static void main(String[] args){
        //金字塔层数
        int storey = 5;
                   //总层数为:5
		//     *			//第1层,有 1 个*	2 * 1 - 1	*前有 4 个空格	5 - 1
		//    ***			//第2层,有 3 个*	2 * 2 - 1	*前有 3 个空格	5 - 2
		//   *****			//第3层,有 5 个*	2 * 3 - 1	*前有 2 个空格	5 - 3
		//  *******			//第4层,有 7 个*	2 * 4 - 1	*前有 1 个空格   5 - 4 
		// *********		//第5层,有 9 个*	2 * 5 - 1	*前有 0 个空格   5 - 5
		for(int i = 1;i <= storey;i++){//控制层数
		
			//控制每层空格的个数
			for(int k = 1;k <= storey - i;k++ ){
				System.out.print(" ");
			}
			//控制每层*的个数
			for(int j = 1;j <= 2 * i - 1;j++){
				System.out.print("*");
			}
			//打印完一层,换行
			System.out.println();
		}


    }

}    

三、打印空心金字塔

public class JinZiTa{
    public static void main(String[] args){
        //金字塔层数
        int storey = 5;

		//     *			//前四层第一个和最后一个位置为*
		//    * *			//最后一层全部输出*
		//   *   *			//
		//  *     *			//
		// *********		//

		for(int i = 1;i <= storey;i++){//控制层数
		
			//控制每层空格的个数
			for(int k = 1;k <= storey - i;k++ ){
				System.out.print(" ");
			}

			//控制每层*的个数
			for(int j = 1;j <= 2 * i - 1;j++){

                //每层第一个和最后一个输出*,最后一层全部输出*
				if(j == 1 || j == 2 * i -1 || i == storey){
					System.out.print("*");
				}else{//不是每层第一个或最后一个、最后一层,输出空格
					System.out.print(" ");
				}
				
			}

			//打印完一层,换行
			System.out.println();
		}


    }
 
}


版权声明:本文为m0_57703482原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。