java代码输出菱形图案


public class TestDiamond {

	public static void main(String[] args) {
		/*
     *
    ***
   *****
  *******
 *********
***********
 *********
  *******
   *****
    ***
     *
layer:总行数   按照一半一半的计算
n:行数
上半部:
每行的*数量: 2*n-1
每行的空格的数量: layer -n
下半部:layer-1层
每行的空格数: n
每行的*数量:2*n-1


*/
		int layer =6;
		for(int n=1; n<=layer;n++){
			for(int j=1;j<=(layer-n);j++){
			System.out.print(" ");
			}
			for(int j=1;j<=(2*n-1);j++){
				System.out.print("*");
			}
			System.out.println();
		}
		
		for(int n=1; n<=layer-1;n++){
			for(int j=1; j<=n;j++ ){
				System.out.print(" ");
			}
			for(int j=1;j<=(2*(layer-n)-1);j++){
				System.out.print("*");
			}
			System.out.println();
			
		}
		
		//下半段的另一种实现方式
		for(int n=(layer-1); n>=1;n--){
			for(int j=1; j<=(layer-n);j++ ){
				System.out.print(" ");
			}
			for(int j=1;j<=2*n-1;j++){
				System.out.print("*");
			}
			System.out.println();
			
		}
		
		/*
	      *
	     * *
	    *   *
	   *     *
	  *       *
	 *         *
	  *       *
	   *     *
	    *   *
	     * *
	      *
	      

	 layer:总行数
	 树的顶端:
	 n:行数
	 每行的*数量: 2*n-1
	 每行的空格的数量: layer -n

             树的根部: layer-1个空格+一个*, 总共layer行
	 		 */	
		
		for(int n=1; n<=layer;n++){
			for(int j=1;j<=(layer-n);j++){
			System.out.print(" ");
			}
			for(int j=1;j<=(2*n-1);j++){
				if(j==1|| j==(2*n-1)){
					System.out.print("*");
				}else{
					System.out.print(" ");
				}
			}
			System.out.println();
		}
		
		for(int n=1; n<=(layer-1);n++){
			for(int j=1;j<=n;j++){
			System.out.print(" ");
			}
			for(int j=1;j<=(2*(layer-n)-1);j++){
				if(j==1|| j==(2*(layer-n)-1)){
					System.out.print("*");
				}else{
					System.out.print(" ");
				}
			}
			System.out.println();
		}
		
	}

}

你可能感兴趣的:(Java)