打印菱形图案: 首先根据图案的特征进行分析,因为它是一个上面和左右都是对称的图案,在网上很多打印菱形都是分上下两部分来打印,感觉这样很复杂,这里只需要一对for循环就能完成全部的打印,打印行数可以更改初始值进行设置,是否空心可以根据条件进行修改。
//行数为 lineNum*2+1 如lineNum为4,则打印的是一个9行的菱形 int initNum = 5; //外循环要打印的行数 for(int i=-initNum;i<(initNum+1);i++){ //获取绝对值i int absi = Math.abs(i); //获取总行数与绝对值之间的差值,用来判断要打印多少个特定符号 int xx = initNum - absi; //内循环,循环一行需要打印多次少 for(int j= -initNum;j<(initNum+1);j++){ //因为要打印的是每行的中间,所以获取绝对值 int jdj = Math.abs(j); //用获取的绝对值与上面获取的差值进行判断 //如果要打印空心菱形,只需要将条件的<=改为==就OK if(jdj <= xx){ System.out.print("*"); }else { System.out.print(" "); } } //换行打印 System.out.println(""); }
打印结果1:
*
***
*****
*******
*********
*******
*****
***
*
打印结果2:
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
*