題目要求如下圖:
倒等腰三角型輸出:
package com.Summer_0416.cn; /** * @author Summer * 用*打印正等腰三角形或者倒等腰三角形三角 */ public class Test_Method01 { public static void main(String[] args) { //嵌套循環打印倒等腰三角形 for (int line = 0; line <5; line++) {//外層循環控制行數 for (int space = 0; space < line; space++) {//內循環1分別按照行數生成0,1,2,3,4個空格 System.out.print(" "); } for (int star = 0; star < (5-line); star++) {//內循環2分別按照行數生成5個*,4個*,3個*和2個*、1個* System.out.print("*"); } for (int star = 0; star < (5-1-line); star++) {//內循環3分別按照行數生成4個*,3個*和2個*、1個*,因為輸出值無ln換行所以可以直接拼接循環1結果 System.out.print("*"); } for (int space = 0; space < line; space++) {//內循環3分別按照行數生成0,1,2,3個空格,因為輸出值無ln換行所以可以直接拼接循環2結果 System.out.print(" "); } System.out.println();//實現外層行換行命令 } } }
正等腰三角形輸出:
package com.Summer_0416.cn; /** * @author Summer * 用*號打印正等腰三角形 */ public class Test_Method03 { public static void main(String[] args) { for (int line = 0; line < 5; line++) { for (int space = 0; space < (5-1-line); space++) { System.out.print(" "); } for (int star = 0; star < (line+1); star++) { System.out.print("*"); } for (int star = 0; star < line; star++) { System.out.print("*"); } for (int space = 0; space < (5-1-line); space++) { System.out.print(" "); } System.out.println(); } } }
依據題意可以用for外層循環保證輸出的行數,用前兩個for內循環來保證每行打印的圖像為一個大的直角三角形,然后用后兩個for循環來打印一個對稱的小的直角三角形拼接上去,如果不確定運行軌跡,可以用debug來進行測試。