要将一个二维数组 'short[][]' 逆时针旋转 90 度,您可以使用以下 Java 代码来实现:

public class Main {
    public static void main(String[] args) {
        // 原始二维数组
        short[][] originalArray = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        // 逆时针旋转后的二维数组
        short[][] rotatedArray = rotateArray(originalArray);

        // 输出结果
        for (short[] row : rotatedArray) {
            for (short element : row) {
                System.out.print(element + " ");
            }
            System.out.println();
        }
    }

    public static short[][] rotateArray(short[][] originalArray) {
        int rows = originalArray.length;
        int cols = originalArray[0].length;

        // 创建一个新的二维数组来保存旋转后的结果
        short[][] rotatedArray = new short[cols][rows];

        // 逆时针旋转
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++) {
                rotatedArray[cols - j - 1][i] = originalArray[i][j];
            }
        }

        return rotatedArray;
    }
}

这段代码中,我们首先定义了一个名为 'rotateArray' 的方法,该方法接受一个二维数组作为参数,并返回一个逆时针旋转后的新二维数组。在 'rotateArray' 方法中,我们首先确定原始二维数组的行数和列数,然后创建一个新的二维数组来存储旋转后的结果。接下来,我们使用两个嵌套的 for 循环来遍历原始数组,并将元素按照逆时针旋转的规则赋值给新数组。最后,我们在 'main' 方法中,使用一个示例二维数组来测试 'rotateArray' 方法,并输出旋转后的结果。

上述代码的输出结果为:

3 6 9 
2 5 8 
1 4 7

这是将原始二维数组 '{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}' 逆时针旋转 90 度后得到的结果。

代码解释:

  1. rotateArray 方法

    • 接受一个二维数组 originalArray 作为参数。
    • 获取原始数组的行数和列数,分别用 rowscols 表示。
    • 创建一个新的二维数组 rotatedArray,其行数为原始数组的列数,列数为原始数组的行数,以准备存储旋转后的结果。
    • 使用两个嵌套循环遍历原始数组。
      • 外层循环控制行 i
      • 内层循环控制列 j
    • 对于每个元素 originalArray[i][j],将其赋值给 rotatedArray[cols - j - 1][i]。这个赋值方式是旋转的关键,它将原始数组的元素按照逆时针旋转 90 度放置到新的数组中。
    • 返回旋转后的数组 rotatedArray
  2. main 方法

    • 定义一个示例二维数组 originalArray
    • 调用 rotateArray 方法,将 originalArray 传递给它,并接收旋转后的数组 rotatedArray
    • 使用嵌套循环遍历 rotatedArray,并将每个元素输出到控制台。

总结:

通过上述代码示例和解释,您应该能够理解如何使用 Java 代码将一个二维数组逆时针旋转 90 度。这个方法可以应用于各种数据处理场景,例如图像处理、矩阵运算等。

Java 数组逆时针旋转 90 度:代码示例和解释

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

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