代码之家  ›  专栏  ›  技术社区  ›  Lore

如何在用IntelliJ IDEA调试Java时可视化整个矩阵?

  •  0
  • Lore  · 技术社区  · 7 年前

    我使用IntelliJ IDEA在Java中调试一个程序,这个程序大量使用双[][]矩阵。我想找到一种在调试期间轻松显示这些矩阵的方法,而不仅仅是:

    Enter image description here

    但更像是一个完整的矩阵,例如这样的东西

    Enter image description here

    这样的可视化应该显示在调试器变量的窗口中。

    我已经搜索了很多方法,但是当用PyCharm在Python中做这样的事情看起来很简单时,用Java/IntelliJ IDEA似乎并不容易。我也尝试过定制Java类型的呈现器,但是没有成功。我该怎么做?

    2 回复  |  直到 7 年前
        1
  •  8
  •   Peter Mortensen Pieter Jan Bonestroo    7 年前

    请在任何类中添加此方法:

    public static String get2DArrayPrint(int[][] matrix) {
        String output = new String();
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                output = output + (matrix[i][j] + "\t");
            }
            output = output + "\n";
        }
        return output;
    }
    

    现在在调试器模式下,右键单击变量并选择查看方式->创建选项。它将打开类似于以下内容的屏幕:

    Enter image description here

    现在在调试器模式下,右键单击变量并选择view as->your scheme name(查看方案名称)(请查看屏幕截图)。

    Enter image description here

    完成后,请在调试器模式中右键单击变量并选择“查看文本”。该方案将适用于程序中的所有二维阵列,无需任何额外的工作。我希望这会有帮助。

        2
  •  1
  •   Peter Mortensen Pieter Jan Bonestroo    7 年前

    目前,我已经通过使用ejml库的 DMatrixRMaj

    我只是简单地使用这个个性化的Java类型呈现器(通过 右键单击变量/自定义数据视图/Java类型呈现器 )

    Enter image description here

    然后我右击矩阵并选择 . 数组有一个简单的版本。

    Enter image description here