数学真的是算法的筋骨
思路
找空格 和 * 和行数之间的关系(line ,i)
左对齐
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
for (int j = 0; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
以下两种我对空格和*的数量的条件不清晰
居中对齐
数学真的是算法的筋骨
public static void main(String[] args) {
int line = 5;
for (int i = 1; i <= line; i++) {
//控制打印空格
for (int j = 0; j <= line-i; j++) {
System.out.print(" ");
}
//控制打印*
for (int k = 0; k < (2*i-1); k++) {
System.out.print("*");
}
//当前行的空格和*都打印完了,换行打印下一行
System.out.println();
}
关于*我们很容易能看出来是1,3,5的规律
但是空格不好观察。是先找出规律然后才能写条件
倒置居中对齐
public static void main(String[] args) {
int line = 5;
for (int i = 1; i <= line; i++) {
//控制打印空格
for (int j = 0; j < i-1; j++) {
System.out.print(" ");
}
//控制打印*
for (int k = 0; k < 2*(line-i)+1; k++) {
System.out.print("*");
}
//当前行的空格和*都打印完了,换行打印下一行
System.out.println();
}
}
右对齐
public static void main(String[] args) {
int line = 5;
for (int i = 1; i <= line; i++) {
//控制打印空格
for (int j = 0; j < line-i; j++) {
System.out.print(" ");
}
//控制打印*
for (int k = 0; k < i; k++) {
System.out.print("*");
}
//当前行的空格和*都打印完了,换行打印下一行
System.out.println();
}
}