打印出如下图案(菱形)
*
***
*****
*******
*****
***
*
分析:
具有最多*的一行是第四行,且有7个。
将菱形看成有二个三角形组成的,上4行(第一个三角形),下3行(第二个三角形)
第一行:一个*,相对于第四行来说,前面需要三个空格
第二行:三个*,相对于第四行来说,前面需要二个空格
............依次类推
先实现上4行(第一个三角形的打印),代码如下:
//实现上三角形
for (int i =1; i <=4 ; i++) {
//打印空格
for (int j = 1; j <=4-i ; j++) {
System.out.print(" ");
}
//打印*号
for (int k = 1; k <=2*i-1 ; k++) {
System.out.print("*");
}
//打印完一行,进行换行
System.out.println();
}
实现结果:
接下来分析下3行(第二个三角形)
第一行 :一个空格,相对于上三角形的第四行来说,需要打印5个*
第二行:二个空格,相对于上三角形的第四行来说,需要打印3个*
第三行:三个空格,相对于上三角形的第四行来说,需要打印1个*
先实现下3行(第二个三角形的打印),代码如下:
//实现下三角形
for (int i = 3; i>=1; i--) {
for (int j = 1; j <=4-i ; j++) {
System.out.print(" ");
}
for (int k = 1; k <=2*i-1 ; k++) {
System.out.print("*");
}
//打印完一行,进行换行
System.out.println();
}
实现结果
完整实现打印菱形代码如下:
//实现上三角形
for (int i =1; i <=4 ; i++) {
//打印空格
for (int j = 1; j <=4-i ; j++) {
System.out.print(" ");
}
//打印*号
for (int k = 1; k <=2*i-1 ; k++) {
System.out.print("*");
}
//打印完一行,进行换行
System.out.println();
}
//实现下三角形
for (int i = 3; i>=1; i--) {
for (int j = 1; j <=4-i ; j++) {
System.out.print(" ");
}
for (int k = 1; k <=2*i-1 ; k++) {
System.out.print("*");
}
//打印完一行,进行换行
System.out.println();
}
结果展示: