8.打印中空菱形

tech2022-09-21  68

package day5; public class lianxi3 { public static void main(String[] args) { //上三角 for(int i=1; i<6; i++) { //打印空格 /* j=1,j代表空格的个数 当i=1, 有4个空格, j=4,3,2,1 当i=2, 有3个空格, j=4,3,2 当i=3, 有2个空格, j=4,3 当i=4, 有1个空格, j=4 当i=5, 有0个空格, j=4 且不执行 */ for(int j=4; j>=i; j--) System.out.print(" "); //打印* /* j=1, j代表*的个数 当i=1, 有1个*, j=1 当i=2, 有3个*, j=1,2,3 当i=3, 有5个*, j=1,2,3,4,5 当i=4, 有7个*, j=1,2,3,4,5,6,7 当i=5, 有9个*, j=1,2,3,4,5,6,7,8,9 空格在前半部分,所以打印空格并不影响打印* */ for(int j=1; j<=2*i-1; j++) { //仅头尾打印 if(j==1 || j==2*i-1) System.out.print("* "); else System.out.print(" "); } //换行 System.out.println(); } for(int i=1; i<5; i++) { //下三角 //打印空格 /* j=1, j表示空格 当i=1时, 有1个空格, j=1 当i=2时, 有2个空格, j=1,2 当i=3时, 有3个空格, j=1,2,3 当i=4时, 有4个空格, j=1,2,3,4 */ for(int j=1; j<=i; j++) System.out.print(" "); //打印* /* j=1, j表示* 当i=1时, 有7个* , j=1,2,3,4,5,6,7 当i=2时, 有5个* , j=1,2,3,4,5 当i=3时, 有3个* , j=1,2,3 当i=4时, 有1个* , j=1 */ for(int j=1; j<=9-2*i; j++) { //仅头尾打印 if(j==1 || j==9-2*i) System.out.print("* "); else System.out.print(" "); } //换行 System.out.println(); } } /* 2020年8月17日10:09:11 运行结果: * * * * * * * * * * * * * * * * 寻找规律 头尾相等打印* 中间为空格 先前的空格不变 */ }
最新回复(0)