以矩阵格式打印二维数组
如何以矩阵框格式打印一个简单的 int[][]
,就像我们手写矩阵的格式一样。简单的循环运行显然不起作用。如果有帮助,我正在尝试在 linux ssh 终端中编译此代码。
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
System.out.println(matrix[i][j] + " ");
}
System.out.println();
}
How can I print out a simple int[][]
in the matrix box format like the format in which we handwrite matrices in. A simple run of loops doesn't apparently work. If it helps I'm trying to compile this code in a linux ssh terminal.
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
System.out.println(matrix[i][j] + " ");
}
System.out.println();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
要正确设置列中数字的格式,最好使用 printf。根据最大或最小数字的大小,您可能需要调整模式
“%4d”
。例如,要允许Integer.MIN_VALUE
和Integer.MAX_VALUE
之间的任何整数,请使用"%12d"
。输出示例:
To properly format numbers in columns, it's best to use printf. Depending on how big are the max or min numbers, you might want to adjust the pattern
"%4d"
. For instance to allow any integer betweenInteger.MIN_VALUE
andInteger.MAX_VALUE
, use"%12d"
.Example output:
输出:
Output:
在Java 8中:
这会产生:
但是既然我们在这里,为什么不让行布局可定制呢?
我们所需要做的就是将 lamba 传递给
matrixPrinter
方法:结果如下:
In Java 8 fashion:
This produces:
But since we are here why not make the row layout customisable?
All we need is to pass a lamba to the
matrixPrinter
method:This is the result:
函数调用
输出
控制台中的
Function Call
Output
In console
自 Java 8 起:
输出:
Since Java 8:
Output:
这是我使用 StringBuilder 数组显示 2D 整数数组的有效方法。
输出:
Here's my efficient approach for displaying 2D integer array using a
StringBuilder
array.Output:
输出:
Output:
我更喜欢在 Java 中使用增强循环
,因为我们的 ar 是一个数组的数组 [2D]。因此,当您对其进行迭代时,您将首先获得一个数组,然后您可以迭代该数组以获取各个元素。
输出:
I prefer using enhanced loop in Java
Since our
ar
is an array of array [2D]. So, when you iterate over it, you will first get an array, and then you can iterate over thatarray
to get individual elements.Output:
生产:
Produces: