Java 使用 for 循环打印菱形图案

本文将使用 Java 的 for 循环语句实现打印不同类型的菱形图案,包括空心菱形、实心菱形以及根据用户输入的偶数数字自定义大小的菱形。

版本1:实现输出空心菱形

public class Diamond {
    public static void main(String[] args) {
        int rows = 5; // 菱形的行数
        int mid = rows / 2 + 1; // 菱形中间行的位置
        for (int i = 1; i <= rows; i++) {
            // 打印空格
            for (int j = 1; j <= Math.abs(mid - i); j++) {
                System.out.print(' ');
            }
            // 打印星号
            if (i == 1 || i == rows) {
                System.out.print('*');
            } else {
                System.out.print('*');
                for (int k = 1; k <= 2 * (i - 2) + 1; k++) {
                    System.out.print(' ');
                }
                System.out.print('*');
            }
            System.out.println(); // 换行
        }
    }
}

输出结果:

    *
   * *
  *   *
 *     *
*       *
 *     *
  *   *
   * *
    *

版本2:实现输出实心菱形

public class Diamond {
    public static void main(String[] args) {
        int rows = 5; // 菱形的行数
        int mid = rows / 2 + 1; // 菱形中间行的位置
        for (int i = 1; i <= rows; i++) {
            // 打印空格
            for (int j = 1; j <= Math.abs(mid - i); j++) {
                System.out.print(' ');
            }
            // 打印星号
            for (int k = 1; k <= 2 * Math.abs(mid - i) + 1; k++) {
                System.out.print('*');
            }
            System.out.println(); // 换行
        }
    }
}

输出结果:

    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

版本3:根据输入数字输出菱形

import java.util.Scanner;

public class Diamond {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个偶数数字:");
        int num = scanner.nextInt();
        if (num % 2 == 0) {
            int rows = num / 2; // 菱形的行数
            int mid = rows + 1; // 菱形中间行的位置
            for (int i = 1; i <= rows; i++) {
                // 打印空格
                for (int j = 1; j <= mid - i; j++) {
                    System.out.print(' ');
                }
                // 打印星号
                for (int k = 1; k <= 2 * i - 1; k++) {
                    System.out.print('*');
                }
                System.out.println(); // 换行
            }
            for (int i = rows; i >= 1; i--) {
                // 打印空格
                for (int j = 1; j <= mid - i; j++) {
                    System.out.print(' ');
                }
                // 打印星号
                for (int k = 1; k <= 2 * i - 1; k++) {
                    System.out.print('*');
                }
                System.out.println(); // 换行
            }
        } else {
            System.out.println("输入数字不是偶数!");
        }
    }
}

输出结果:

请输入一个偶数数字:8
        *
       ***
      *****
     *******
    *********
     *******
      *****
       ***
        *

注意:

  • 以上代码中的 System.out.print(' ');System.out.print('*'); 分别用于打印空格和星号。
  • 每个循环的嵌套层级决定了菱形的形状和大小。
  • 您可以根据需要修改代码中的变量值来调整菱形的尺寸和外观。
  • 版本3 中,输入的数字必须为偶数才能正常输出菱形。
Java 使用 for 循环打印菱形图案 - 空心、实心和自定义大小

原文地址: https://www.cveoy.top/t/topic/j8J4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录