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"); } } }