Java - 生成并旋转矩阵

Java - generate and rotate matrix

最近我正在尝试学习 Java 一点,目前,我正在开发一个简单的程序,它应该生成一个矩阵然后旋转它。我被困在第一部分。 究竟是什么问题?我的代码的逻辑似乎没问题,但无论如何程序返回的不是我所期望的。 代码:

import java.util.Scanner;

public class MatrixRotation {

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);

    System.out.print("Please, enter matrix size: ");
    int size = in.nextInt();
    double[][] matrix = generateMatrix(size);

    System.out.println(matrix);
}

private static double[][] generateMatrix(int size) {
    double[][] matrix = new double[size][size];
    for (int row = 0; row < size; row++){
        for (int column = 0; column < size; column++){
            matrix[row][column] = (row * 10 + column) / 10.0;
        }
    }
    return matrix;
}

private void printMatrixToConsole(double[][] matrix) {
    for (int row = 0; row < matrix.length; row++){
        for (int column = 0; column < matrix.length; column++){
            System.out.print(matrix[row][column] + "");
        }
        System.out.println("");
    }
}

输出:

Please, enter matrix size: 4

Initial matrix = [[D@34c45dca

Process finished with exit code 0

我已经在方法之外使用它测试了我的代码,它工作得很好,但出于某种原因,而在方法中它给了我那行奇怪的字符。

请问有什么地方不对吗?

谢谢!

您在控制台中看到的是二维数组的对象引用,而不是它包含的值。以下语句是罪魁祸首:System.out.println(matrix); 如果你想打印矩阵的内容,你必须调用你已经从传递二维数组的 main 方法创建的实用方法。