首先关于打印对称三角形我们应该想到循环
-
我们要明确三角形是由两个小三角形构成的
-
而我们可以首先打印对称三角形的一半
package day20; public class day20 { public static void main(String[] args) { for (int i = 1; i <=5; i++) { for (int j = 5; j >=i; j--) { System.out.print("*"); } System.out.println(); } } }
得到如下结果
这是对称三角形的一半 如果我们再打印一个相反的对称三角形那么我么可以得到一个长方形
package day20; public class day20 { public static void main(String[] args) { for (int i = 1; i <=5; i++) { for (int j = 5; j >=i; j--) { System.out.print("*"); } for (int j = 1; j <=i; j++) { System.out.print("*"); } System.out.println(); } } }
得到的结果如下
剩下的结果也可想而知 让第一次打印的三角形的一半变成空格
及为如下结果
package day20; public class day20 { public static void main(String[] args) { for (int i = 1; i <=5; i++) { for (int j = 5; j >=i; j--) { System.out.print(" "); } for (int j = 1; j <=i; j++) { System.out.print("*"); } System.out.println(); } } }
下面就要进入重点地方了
另一半三角形应该如何打印呢?
我们要在之前打印对称三角形一半的基础上 每行少打印一个*就可以得到我们想要的结果了
package day20; public class day20 { public static void main(String[] args) { for (int i = 1; i <=5; i++) { for (int j = 5; j >=i; 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(); } } }
注意: 换行一定要放在最后一行 每次输出完就换行