-
主要是思想,逐个解决!
-
可以把三角形放到一个正方形里面,再拆分了来写。
-
先输出最左边的三角形,依次求解。
-
之后再把左边的三角形变成空白就ok了。
//第一步先写出一个五行的循环
for(int i = 1;i<=5;i++){
}
//第二步想办法朝着上面的图形靠拢,现在需要第一行有五个*依次减少 则需要再加一个循环控制 for(int j = 5;j>=i;j--){ System.out.pirnt("*") //这里注意不要用println不然每一个输出都会换行 } System.out.println(); //等输出完一轮再换行 //现在形状是这样已经有了上面图案的形状,接着下一步需要这里的图象变成空白。 ***** **** *** ** *
//第三步想办法把这个三角形倒过来 for(int j = 1;j<=i;j++){ System.out.pirnt("*") } System.out.println(); //现在就是这样下一步再将它补齐就好了,不过上面的输出不再加*,不然就会变成一个正方形。 * ** *** **** *****
//第四步将上面的图形填充成一个三角形,需要第一行不输出,第二行输出一个 for(int j = 1;j<i;j++){ // j<i 第一行就没有输出 System.out.print("*") } System.out.print();
-
注意以上循环,都是在第一个循环里面嵌套的。
-
完整代码如下:
public class TriangleDemo1 { 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(); } } }