这个例子用星号(*)打印出一个菱形。没有什么技巧,完全是按部就班的代码。供初学者参考。 public class PrintDiamond { public static void main(String[] args) { int maxStarLength = 19, starLength = 1, increment = 2; while (starLength > 0) { int blankSize = (maxStarLength - starLength) / 2; printLine(starLength, blankSize); if (starLength >= maxStarLength) { increment = -increment; } starLength += increment; } } private static void printLine(int starLength, int blankSize) { print(" ", blankSize); print("*", starLength); print(" ", blankSize); System.out.println(); } private static void print(String s, int size) { int i = 0; while (i < size) { System.out.print(s); i++; } } }