当前位置:首页 > Java

菱形如何java

2026-03-23 04:42:12Java

菱形在 Java 中的实现方法

使用循环打印空心菱形

以下代码通过嵌套循环实现空心菱形的打印。外层循环控制行数,内层循环控制空格和星号的输出。

菱形如何java

public class HollowDiamond {
    public static void main(String[] args) {
        int n = 5; // 菱形的行数(上半部分)
        // 打印上半部分
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= n - i; j++) {
                System.out.print(" ");
            }
            for (int k = 1; k <= 2 * i - 1; k++) {
                if (k == 1 || k == 2 * i - 1) {
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
        // 打印下半部分
        for (int i = n - 1; i >= 1; i--) {
            for (int j = 1; j <= n - i; j++) {
                System.out.print(" ");
            }
            for (int k = 1; k <= 2 * i - 1; k++) {
                if (k == 1 || k == 2 * i - 1) {
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
    }
}

使用循环打印实心菱形

以下代码通过调整条件实现实心菱形的打印,逻辑与空心菱形类似,但所有内部位置均输出星号。

菱形如何java

public class SolidDiamond {
    public static void main(String[] args) {
        int n = 5; // 菱形的行数(上半部分)
        // 打印上半部分
        for (int i = 1; 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.println();
        }
        // 打印下半部分
        for (int i = n - 1; i >= 1; 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.println();
        }
    }
}

动态调整菱形大小

通过接收用户输入动态调整菱形的大小,增强代码的灵活性。

import java.util.Scanner;

public class DynamicDiamond {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入菱形的大小(上半部分行数): ");
        int n = scanner.nextInt();
        // 打印上半部分
        for (int i = 1; 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.println();
        }
        // 打印下半部分
        for (int i = n - 1; i >= 1; 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.println();
        }
        scanner.close();
    }
}

使用字符数组构建菱形

通过字符数组预先构建菱形的每一行,再统一输出,适用于需要多次操作的场景。

public class ArrayDiamond {
    public static void main(String[] args) {
        int n = 5;
        int size = 2 * n - 1;
        char[][] diamond = new char[size][size];
        // 初始化数组为空格
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) {
                diamond[i][j] = ' ';
            }
        }
        // 填充星号
        for (int i = 0; i < n; i++) {
            for (int j = n - 1 - i; j <= n - 1 + i; j++) {
                diamond[i][j] = '*';
            }
        }
        for (int i = n; i < size; i++) {
            for (int j = i - n + 1; j < size - (i - n + 1); j++) {
                diamond[i][j] = '*';
            }
        }
        // 输出菱形
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) {
                System.out.print(diamond[i][j]);
            }
            System.out.println();
        }
    }
}

以上方法涵盖了从简单到复杂的菱形实现方式,可根据需求选择适合的方案。

标签: 菱形java
分享给朋友:

相关文章

java如何创建线程

java如何创建线程

创建线程的方法 在Java中,创建线程主要有两种方式:继承Thread类和实现Runnable接口。以下是具体实现方法: 继承Thread类 通过继承Thread类并重写run()方法可以创建线程。…

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。 配…

java如何连接mysql

java如何连接mysql

连接 MySQL 数据库的基本步骤 添加 MySQL 驱动依赖 在项目中引入 MySQL 的 JDBC 驱动。如果使用 Maven,在 pom.xml 中添加以下依赖: <dependency…

java如何获取当前时间

java如何获取当前时间

获取当前时间的方法 在Java中,可以通过多种方式获取当前时间。以下是几种常见的方法: 使用 java.util.Date Date currentDate = new Date(); Syste…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…

如何学好java编程

如何学好java编程

理解基础概念 掌握Java的基础语法是学习的起点。变量、数据类型、运算符、控制结构(如循环和条件语句)是核心内容。面向对象编程(OOP)的概念(类、对象、继承、多态、封装)是Java的核心,需深入理解…