打印出有N*2-1行的菱形

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

  

猜你喜欢

转载自www.cnblogs.com/chenjiajiale/p/12586456.html