实现代码如下
public class Demo {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 5; i <= j; j--)
System.out.print(" ");
for (int j = 1; j <= i; j++)
System.out.print("*");
for (int j = 1; j < i; j++)
System.out.print("*");
System.out.println();
}
}
}
思路分析
将一个三角形拆分为三个三角形
第一个三角形
第一个三角形打印空格占位,我这里用1填充。
程序是递减规律。
package sanjiaox1;
class one {
public static void main(String[] args) {
//五次循环行数
for (int i = 1; i <= 5; i++) {
//递减,那么每次循环j就-1,
for (int j = 5; j >= i; j--)
// 建立1号图形
System.out.print("1 ");
System.out.println();
}
}
}
package sanjiaox1;
class one {
public static void main(String[] args) {
for(int i = 1 ;i<=5 ;i++){
for(int j = 5; j >= i ; j--)//建立1号图形
System.out.print(" 1");
for(int j = 1; j <= i; j++)//建立2号图形
System.out.print("2");
System.out.println();
}
}
}
補全區分
3号图形没有在第一行输出, 这次的判断条件为 j < i 去掉了等于
package sanjiaox1;
public class Demo {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 5; i <= j; j--)
System.out.print(" 1");
for (int j = 1; j <= i; j++)
System.out.print("2");
for (int j = 1; j < i; j++)
System.out.print("3");
System.out.println();
}
}
}