即在打印“实心菱形”的“*”时,只需要把每一行“*”的开头第一个“*”和结尾最后一个“*”打印出来,每行中间部分的“*”用空格替代即可。即对System.out.print("*");进行判断,伪代码如下: if (开头第一个“*” 或 结尾最后一个“*”) { System.out.print("*"); } else {//即中间部分打印空格 System.out.print(" "); } 完整代码如下: public static void main(String[] args) throws Exception { int rows = 5; // 正等腰三角形 for (int i = 0; i < rows; i++) { for (int j = 0; j < rows - i - 1; j++) { System.out.print(" "); } for (int j = 0; j < 2 * i + 1; j++) { if (j == 0 || j == 2 * i) {//开头第一个“*” 或 结尾最后一个“*” System.out.print("*"); } else {//即中间部分打印空格 System.out.print(" "); } } System.out.println();// 每行的空格和”*”打印完后,需要换行 } // 倒等腰三角形 // for (int i = rows - 1; i >= 0; i--) { for (int i = rows - 2; i >= 0; i--) {// “倒等腰三角形”的第0行(即rows-1)不用打,直接从第1行(rows-2)开始打印 for (int j = 0; j < rows - i - 1; j++) { System.out.print(" "); } for (int j = 0; j < 2 * i + 1; j++) { if (j == 0 || j == 2 * i) {//开头第一个“*” 或 结尾最后一个“*” System.out.print("*"); } else {//即中间部分打印空格 System.out.print(" "); } } System.out.println();// 每行的空格和”*”打印完后,需要换行 } } 运行结果: ![]() |
小黑屋|在路上
( 蜀ICP备15035742号-1 )
GMT+8, 2025-7-9 20:17
Copyright 2015-2025 djqfx