Java 中空心菱形图案

2025年9月4日 | 阅读5分钟

程序员经常会编写许多 Java 模式程序 来进行编码练习和应对面试。模式程序通常在 面试 中出现,以测试逻辑思维能力及其在程序中的实现。在本节中,我们将使用 while 循环do-while 循环for 循环 创建 Java 程序来 **打印空心菱形图案**。

在 **空心菱形图案** 中,第一行和最后一行只有一个星号,其余行包含两个星号。我们可以将星号 (*) 替换为我们想要打印的任何其他符号。

要打印空心菱形图案(如下图所示),我们将图案分为两个部分,即 **上半部分** 和 **下半部分**。此外,我们将分别实现上半部分和下半部分的逻辑。本节讨论的所有图案都将应用此逻辑。

Hollow Diamond Pattern in Java

让我们在 Java 程序中实现该逻辑。

使用 for 循环

HollowDiamondPattern1.java

输出

Hollow Diamond Pattern in Java

在上面的程序中,我们注意到为了打印下半部分图案,我们只更改了第一个 for 循环,其余代码保持不变。

更改为

使用 while 循环

在下面的 Java 程序中,我们仅将 for 循环替换为 while 循环。

HollowDiamondPattern2.java

输出

Hollow Diamond Pattern in Java

使用 do-while 循环

HollowDiamondPattern3.java

输出

Hollow Diamond Pattern in Java

让我们看另一个空心菱形图案。

要打印以下空心菱形图案,我们将图案分为两个部分,即上半部分和下半部分(如下图所示)。此外,我们将分别实现上半部分和下半部分的逻辑。上半部分包含菱形图案的前五行,下半部分包含最后五行。

Hollow Diamond Pattern in Java

首先,我们将创建一个 10*10 的矩阵。用符号 (*) 打印第一行。在下一行(第二行),有两个空格。我们需要计算空格。在上半部分,我们注意到空格在翻倍,而在下半部分,空格以 2 为单位递减。

因此,我们可以使用通用公式 **2*i-2**(其中 i 是行号)来计算空格。假设我们要计算第三行的空格。**2*3-2 = 4**(空格)。在下面的程序中,我们使用变量 i 表示行,j 表示列,k 表示空格。

HollowDiamondPattern4.java

输出

Hollow Diamond Pattern in Java