正如你在图片中看到的那样,一个名为board的变量。它被定义为:
[[3, 3, 3, 3, 3, 3, 3, 3, 3, 3],
[3, 1, 1, 1, 1, 1, 1, 1, 1, 3],
[3, 1, 1, 1, 1, 1, 1, 1, 1, 3],
[3, 1, 1, 2, 1, 1, 1, 1, 1, 3],
[3, 1, 1, 1, 2, 2, 1, 1, 1, 3],
[3, 1, 1, 1, 2, 0, 1, 1, 1, 3],
[3, 1, 1, 2, 1, 1, 1, 1, 1, 3],
[3, 1, 1, 1, 1, 1, 1, 1, 1, 3],
[3, 1, 1, 1, 1, 1, 1, 1, 1, 3],
[3, 3, 3, 3, 3, 3, 3, 3, 3, 3]]
我希望有这样的代表:
printf("%3", board[i][j])
甚至更好,没有括号和逗号,如果可能的话,还有如果您使用的安排:
{{1}}
要打印它,因为可能有数字> 10,例如具有不同数量的字符。
前段时间我看到过一些非常相似的东西,不幸的是我没有它的截图。
答案 0 :(得分:1)
答案 1 :(得分:1)
Eclipse有一个名为detail formatters的功能,允许您为非原始类型编写自定义显示代码片段。听起来不错,对吧?
不幸的是,这不会直接解决您的问题,因为它不适用于原始类型或arrays。 Eclipse总是将这些内置格式化程序用于这些类型。
但是,你确实有几个选择。也许这个数组是包含类的成员 - 在这种情况下,您可以添加toString()
方法,以您希望的方式格式化数组,或者为此类型添加详细格式化程序,如上所述(例如,因为toString()
方法可能已经以不同的方式实现,您无法改变。
如果情况并非如此,我所知道的最佳方法是仍然编写格式化方法,比如String ArrayFormatter.format2D(int[][] array)
,然后使用Expressions view用您的数组调用此方法,例如:
ArrayFormatter.format2D(board)
然后,只要board
在范围内,表达式视图就会显示格式化的输出。这些表达式在调试运行期间持续存在,因此您只需将其设置一次。