/*
打印菱形
思路:菱形可以分为两部分,上面的三角和下面的三角
上面的三角思路
也是由两部分构成,每一行的前半部分空格输出,和后半部分的花型输出
下半部分是上半部分的反方向即可
关键:循环控制
*/
/*
打印结果:
------------------------
*
***
*****
*******
*********
***********
*************
***************
* *
* *
* *
* *
* *
* *
*
-----------------------
*
* *
* *
* *
* *
* *
* *
* *
*************
***********
*********
*******
*****
***
*
--------------------
*
***
*****
*******
*********
***********
*************
***************
*************
***********
*********
*******
*****
***
*
--------------------
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
-------------------
*/
class Demo
{
public static void main(String []args)
{
final int size = 8;//定义有多少行
//做1-4列的图形
for (int i = 1; i <= size; i++) {//外层循环控制趟数
for (int j = i; j < size; j++) {//这一层控制空白的地方
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {//这层控制星星的数量
kongxinshow(k,i);
//shixinshow();
}
System.out.println();
}
//反方向打印图形,即做图形的下半部分
for (int i = size - 1; i >= 1; i--) {
for (int j = 1; j <= size - i; j++) {
System.out.print(" ");
}
for (int k = 2 * i - 1; k > 0; k--) {
//kongxinshow(k,i);
shixinshow();
}
System.out.println();
}
}
public static void kongxinshow(int k,int i)
{
if (k == 1)
{
System.out.print("*");
}else if (k == 2*i-1)
{
System.out.print("*");
}else
{
System.out.print(" ");
}
}
public static void shixinshow()
{
System.out.print("*");
}
}