题目要求如下图:
倒等腰三角型输出:
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来进行测试。