package Twelve; import java.util.Scanner; //打印中國結圖案關鍵算法 //由於中國結的形狀是菱形圖案,所以現在公司需要設計一個打印菱形的方法。 //從鍵盤輸入一個整數N,打印出有N*2-1行的菱形。 //例如輸入整數4,則屏幕輸出如下菱形。 public class one { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("請輸入菱形的行數:"); int rows = input.nextInt(); //判斷是否基數加循環 /*while (rows % 2 == 0) { System.out.println("請輸入基數:"); rows = input.nextInt(); }*/ int n = rows/2+2 ;//上半部分圖形的高度 //打印上半部分,高度為n的等腰三角形 for (int i = 1; i <= n; i++) { //打印空格,第i行打印n-i個空格 for (int j = 1; j <= n - i; j++) { System.out.print(" "); } for (int k = 1; k <= 2 * i - 1; k++) { System.out.print("*"); } System.out.print("\n"); } //打印下半部分,高度為rows-n的倒等腰三角形 for (int i = rows; i >= 1; i--) { //打印空格,第i行打印n-i個空格 for (int j = 1; j <= n - i; j++) { System.out.print(" "); } //打印*,第i行打印2*i-1個* for (int k = 1; k <= 2 * i - 1; k++) { System.out.print("*"); } System.out.print("\n"); } } }