//*
//**
//***
//****
//*****
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
// * 第1层有1个* 2*1-1=1 有4=(总层数-1)个空格
// *** 第2层有3个* 2*2-1=3 有3=(总层数-2)个空格
// ***** 第3层有5个* 2*3-1=5 有2=(总层数-3)个空格
// ******* 第4层有7个* 2*4-1=7 有1=(总层数-4)个空格
//********* 第5层有9个* 2*5-1=9 有0=(总层数-5)个空格
for (int i = 1; i <=5; i++) {
for (int x=1;x<=5-i;x++){
System.out.print(" ");
}
for (int j = 1; j <= 2*i-1; j++) {
System.out.print("*");
}
System.out.println();
}
// *
// * *
// * *
// * *
//*********
for (int i = 1; i <= 5; i++) { //i表示层数
//在输出*之前,还要输出 对应的空格=总层数 - 当前层数
for (int x = 1; x <= 5 - i; x++) {
System.out.print(" ");
}
//控制打印每层打印的*的个数
for (int j = 1; j <= 2 * i - 1; j++) {
//当前行的第一个位置是*,最后一个位置也是*,最后一层全是*
if (j == 1 || j == 2 * i - 1 || i == 5) {
System.out.print("*");
} else { //其他情况输出空格
System.out.print(" ");
}
}
System.out.println();
}
个人总结:
1、双层循环,第一层循环控制行数,第二层循环控制每行中符号的打印个数(列数)
2、在行数和列数关系上寻找规律