Java 菱形
java打印輸出菱形。
完整代碼
public class Diamond {public static void main(String[] args) {print(8); // 輸出 8 行的菱形}public static void print(int size) {if (size % 2 == 0) {size++; // 計算菱形大小}for (int i = 0; i < size / 2 + 1; i++) {for (int j = size / 2 + 1; j > i + 1; j--) {System.out.print(" "); // 輸出左上角位置的空白}for (int j = 0; j < 2 * i + 1; j++) {System.out.print("*"); // 輸出菱形上半部邊緣}System.out.println(); // 換行}for (int i = size / 2 + 1; i < size; i++) {for (int j = 0; j < i - size / 2; j++) {System.out.print(" "); // 輸出菱形左下角空白}for (int j = 0; j < 2 * size - 1 - 2 * i; j++) {System.out.print("*"); // 輸出菱形下半部邊緣}System.out.println(); // 換行}} }結果輸出
**************** *************************利用對稱的方法實現菱形
完整代碼
public class Diamond { public static void main(String[] args) { print(8);// 輸出 8 行的菱形 } public static void print(int size) { if (size % 2 == 0) { size++;// 計算菱形大小 }//第一個和第二個for 循環中的代碼一樣。 for (int i = 0; i < size / 2 + 1; i++) { for (int j = 0; j < (size / 2) - i; j++) { System.out.print(" ");// 輸出左上角位置的空白 } for (int j = 0; j < 2 * i + 1; j++) { System.out.print("*");// 輸出菱形上左半部邊緣 } System.out.println(); } for (int i = size / 2 - 1; i >= 0; i--) { for (int j = 0; j < (size / 2) - i; j++) { System.out.print(" ");// 輸出菱形左下角空白 } for (int j = 0; j < 2 * i + 1; j++) { System.out.print("*");// 輸出菱形下半部邊緣 } System.out.println(); } } }簡化上述代碼
public class Diamond2 { public static void main(String[] args) { print(8);// 輸出 8 行的菱形 } public static void print(int size) { if (size % 2 == 0) { size++;// 計算菱形大小 } //第一個和第二個for 循環中的代碼一樣。 for (int i = 0; i < size / 2 + 1; i++) { printLine(size, i); } for (int i = size / 2 - 1; i >= 0; i--) { printLine(size, i); } } public static void printLine(int size, int i) { for (int j = 0; j < (size / 2) - i; j++) { System.out.print(" ");// 輸出菱形左下角空白 } for (int j = 0; j < 2 * i + 1; j++) { System.out.print("*");// 輸出菱形下半部邊緣 } System.out.println(); } }總結
- 上一篇: Spring Boot 数据国际化
- 下一篇: C++ inline内联函数详解