本人在从新学习Java的过程当中,遇到一个做业,就是用循环输出正三角,在完成做业之余,查看了不少网上的答案,用了好几回for循环,基本思路就是先拼接前面的空格,在去拼接后面的“”符号。感受有点捉急,本身想了一想新的办法来更少的循环来获得答案。我利用一个if-else判断,以三角形顶点做为临界点,而后根据输出行数不一样,拼接不一样数量的空格和“”,分享代码,供你们参考。(一共两个例子,一个是正向的三角形,一个是等边三角形)java
for (int i = 0; i < 10; i++) { for (int k = 0; k < 9 + i; k++) { if (k < 10 - i) { System.out.print(" "); } else { System.out.print("* "); } } System.out.println("\n\t"); }
输出结果以下: 编程
下面是输出等边三角形的代码:json
for (int i = 0; i < 10; i++) { int n = 1; for (int k = 0; k < 9 + i; k++) { if (k < 10 - i) { System.out.print(" "); } else if (n % 2 == 1) { n++; System.out.print(" * "); } else { n++; } } System.out.println("\n\t"); }
下面是执行结果图:框架