public static void main(String[] args) {
System.out.println("==========图案一==========");
/* 图案一: *
* ***
* *****
* *******
* 行数:4 --->0 1 2 3
* 行上的星数:7 --->1 3 5 7
* 行上的星数=行*2+1
*
*/
for(int i=0;i<4;i++) {
for(int j=0;j<i*2+1;j++) {
System.out.print("*");
}
System.out.println();
}
}
输出结果:
System.out.println("==========图案二==========");
/* 图案二: * ---*
* *** ----> --***
* ***** -*****
* ******* *******
* 对于空格:
* 行数:4 --->0 1 2 3
* 行上的空格数:7 --->3 2 1 0
* 行上的空格数=4-行数-1
*
* 对于星号:
* 行数: 4--->0 1 2 3
* 行上的星数:7--->1 3 5 7
* 行上的星数=行数*2+1
*/
for(int i=0;i<4;i++) {
//对于空格
for(int j=0;j<3-i;j++) {
System.out.print(" ");
}
for(int k=0;k<i*2+1;k++) {
System.out.print("*");
}
System.out.println();
}
输出结果:
System.out.println("==========图案三==========");
/* 图案三: * ---*
* *** ----> --***
* ***** -*****
* ******* *******
* ***** -*****
* *** --***
* * ---*
*对于上半部分:
*
* 对于空格:
* 行数:4 ---> 0 1 2 3
* 行上的空格数:7 --->3 2 1 0
* 行上的空格数=4-行数-1
*
* 对于星号:
* 行数: 4--->0 1 2 3
* 行上的星数:7--->1 3 5 7
* 行上的星数=行数*2+1
*
*对于下半部分
* 对于空格:
* 行数:3 ---> 0 1 2
* 行上的空格数:3 --->1 2 3
* 行上的空格数=行数+1
*
* 对于星号:
* 行数: 3--->0 1 2
* 行上的星数:7--->5 3 1
* 行上的星数=7-行数*2-2
*/
//打印上半部分图案
for(int i =0;i<4;i++) {
//打印空格
for (int k=0;k<3-i;k++) {
System.out.print(" ");
}
//打印星号
for (int j=0;j<i*2+1;j++) {
System.out.print("*");
}
System.out.println();
}
//打印下半部分图案、
for(int i=0;i<3;i++) {
//打印空格
for(int k=0;k<i+1;k++) {
System.out.print(" ");
}
//打印星号
for(int j=5-i*2;j>0;j--){
System.out.print("*");
}
System.out.println();
}
输出结果:
System.out.println("==========图案四==========");
/* 图案四: * ---*
* * * ----> --*-*
* * * -*---*
* * * *-----*
* * * -*---*
* * * --*-*
* * ---*
*对于上半部分:
*
* 对于空格:
* 行数:4 ---> 0 1 2 3
* 行上的空格数:7 --->3 2 1 0
* 行上的空格数=4-行数-1
*
* 对于星号:
* 行数: 4--->0 1 2 3
* 行上的星数和内层空格:7--->1 3 5 7
* 行上的星数和内层空格=行数*2+1
* 星数和内层空格循环开始和结束时判定为星其余为空格
*
*对于下半部分
* 对于空格:
* 行数:3 ---> 0 1 2
* 行上的空格数:3 --->1 2 3
* 行上的空格数=行数+1
*
* 对于星号:
* 行数: 3--->0 1 2
* 行上的星数和内层空格:7--->5 3 1
* 行上的星数和内层空格=7-行数*2-2
* 星数和内层空格循环开始和结束时判定为星其余为空格
*/
//打印上半部分图案
for (int i=0;i<4;i++) {
//打印外层空格
for(int k=0;k<3-i;k++) {
System.out.print(" ");
}
for(int j=0;j<i*2+1;j++) {
if (j==0||j==i*2) {
//打印星号
System.out.print("*");
}else {
//打印内层空格
System.out.print(" ");
}
}
System.out.println();
}
//打印下半部分图案
for(int i=0;i<3;i++) {
//打印外层空格
for(int k=0;k<i+1;k++) {
System.out.print(" ");
}
for(int j=0;j<5-i*2;j++) {
if(j==0 || j==4-i*2) {
System.out.print("*");
}else {
System.out.print(" ");
}
}
System.out.println();
}
输出结果: