使用java输出菱形和空心菱形

问题分析:

当要输出不规则图形是,可以对图形进行切割,在进行分析有何共同点,把共同点提炼起来,再根据共同点对代码进行优化。

实心菱形:可以分为上下两个三角形

空心菱形:可以分为内外两个菱形(内部的菱形是由空字符组合成的)

public class Demo1 {
		public static void main(String[] args) {
			//  *
			// ***
			//*****
			// ***
			//  *
			for(int i=1;i<=5;i++){
				for(int j=0;j<Math.abs(3-i);j++)         //公式Math.abs(3-i)代表菱形左边的空白字符个数与行数的关系
					System.out.print(" ");
				for(int k=0;k<(5-2*Math.abs(3-i));k++)   //5-2*Math.abs(3-i)代表*的个数与行数的关系
					System.out.print("*");
				System.out.println();                    //每输入一行进行换行
			}
		
			
		//  *
		// * *
		//*   *      
		// * *
		//  *
			for(int i=1;i<=5;i++){
				for(int j=0;j<Math.abs(3-i);j++)
					System.out.print(" ");
					System.out.print("*");
                //  *
		// * 
		//*         先输出该图形
		// * 
		//  *
if(i>=2&&i<=4){//菱形中间2-4行的空心菱形for(int k=0;k<3-2*Math.abs(3-i);k++){System.out.print(" ");}System.out.print("*");//补全右半部分的菱形}System.out.println();}}}

猜你喜欢

转载自blog.csdn.net/wjd_12345/article/details/80848573