Java 打印螺旋图案的程序

17 Mar 2025 | 5 分钟阅读

螺旋模式(或螺旋矩阵)经常在 Java 面试和学术中出现。在本节中,我们将创建一个用于创建螺旋模式螺旋矩阵的 Java 程序

什么是螺旋矩阵或螺旋模式?

螺旋模式是一种可以表示为矩阵形式的数字模式。它由一个二维数组 (m*n) 组成。模式可以有两种形式,顺时针或逆时针。

为了以螺旋模式(顺时针)打印矩阵,我们需要遵循以下遍历顺序

  • 从左到右(第一行)
  • 从上到下(最后一列)
  • 从右到左(最后一行)
  • 从下到上(第一列)

为了打印螺旋模式(逆时针),请反转上述遍历顺序。

让我们通过下图了解螺旋模式的图示。

Java program to print the following spiral pattern on the console

例如,考虑以下 5*5 矩阵

Java program to print the following spiral pattern on the console

上述矩阵可以表示为螺旋形式如下

Java program to print the following spiral pattern on the console

我们可以遵循任何一种方法来打印螺旋模式

  • 迭代
  • 递归

在本节中,我们使用了迭代方法。

应该采取什么方法?

  • 首先,创建一个大小为 n 的二维数组。
  • 声明变量来存储数组的边界。还声明一个变量来存储打印螺旋所需的剩余大小。
  • 为了在数组上移动,请使用l、r、ud 字母,分别代表移动方向左、右、上
  • 执行从 1 到 n*2 的循环,以螺旋形式填充数组。

螺旋模式 Java 程序

SpiralPaternExample1.java

输出

Java program to print the following spiral pattern on the console

让我们看另一个螺旋模式。

在下面的程序中,我们使用了以下方法

从 i = 1 和 j = 1 开始索引。可以看出,所需矩阵的每个值都将是max(abs(i - n), abs(j - n)) + 1

SpiralPatternExample2.java

输出

Java program to print the following spiral pattern on the console

SpiralPatternExample3.java

输出

Java program to print the following spiral pattern on the console

以螺旋形式打印给定矩阵

有许多方法可以用来以螺旋形式打印矩阵。

SpiralToMatrixExample.java

输出

10 20 30 40 50 60 120 180 170 160 150 140 130 70 80 90 100 110

下一个主题Java 程序