【问题标题】:Java - generate and rotate matrixJava - 生成和旋转矩阵
【发布时间】:2022-01-16 06:41:03
【问题描述】:

最近我正在尝试学习一点 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("");
    }
}

输出:

请输入矩阵大小:4

初始矩阵 = [[D@34c45dca

进程以退出代码 0 结束

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

请您给我一个提示,告诉我出了什么问题?

谢谢!

【问题讨论】:

    标签: java matrix methods rotation


    【解决方案1】:

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

    【讨论】:

    • 嗨!你让我意识到我问了有史以来最愚蠢的问题。我不知道为什么尝试使用 println 而不是调用我的 printMatrixToCONsole 方法。谢谢! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    相关资源
    最近更新 更多