当前位置:首页 > Java

菱形如何java

2026-03-23 04:42:12Java

菱形在 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();
        }
    }
}

使用循环打印实心菱形

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

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

使用字符数组构建菱形

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

菱形如何java

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 程序的方法 通过命令行运行 Java 程序 确保已安装 Java Development Kit (JDK) 并配置环境变量。使用 javac 编译 .java 文件,生成 .clas…

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

java如何导包

java如何导包

导入包的方法 在Java中,导入包(package)可以通过import语句实现,用于引入其他类或包中的功能。以下是几种常见的导包方式: 导入单个类 import java.util.ArrayL…

java如何运行程序

java如何运行程序

运行Java程序的步骤 安装Java开发工具包(JDK) 确保系统已安装JDK,可通过命令行输入java -version和javac -version验证。若未安装,需从Oracle官网下载并配置环…

java如何实现多继承

java如何实现多继承

在Java中,由于语言设计本身不支持多继承(即一个类不能直接继承多个父类),但可以通过以下方式间接实现类似多继承的效果: 使用接口实现多继承 接口允许一个类实现多个接口,从而继承多个抽象行为。接口中…

如何精通java

如何精通java

理解Java核心概念 Java的基础知识包括数据类型、变量、运算符、控制流语句(如循环和条件判断)、数组以及面向对象编程(OOP)的核心概念(类、对象、继承、多态、封装)。熟练掌握这些内容是后续学习的…