java - 使用括号和逗号打印二维数组

标签 java arrays string eclipse methods

所以我试图打印一个带有括号和逗号的二维数组。这是我的代码:

public class ArrayPrinter {

    public static int printArray(int[][] arr) {
        {
            System.out.println("["); {
                for (int i = 0; i < arr.length; i++) {
                    for (int j = 0; j < arr[i].length; j++) {
                        System.out.print(arr[i][j]);
                        if (j < arr.length) {
                            System.out.print(", ");
                        }
                    }
                    System.out.println();
                }
            }
            System.out.println("]");
        }
        return 0;
    }

    public static void main(String[] args) {
        int[] oneD = {5, 6, 7, 8
        };
        printArray(oneD);
        System.out.println(); {
            int[][] twoD = {
                {2, 4, 6, 8},
                {8, 7, 9, 1},
                {3, 5, 1, 2}
            };
            printArray(twoD);
            System.out.println();
        }
        int[][] twoD2 = {
            {1, 2},
            {3, 4, 5},
            {6},
            {7, 8, 9}
        };
        printArray(twoD2);
        System.out.println();
    }

    public static void printArray(int[] arr) {
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
            if (i < arr.length - 1) {
                System.out.print(", ");
            }
        }
        System.out.println("]");
    }
}

这是我现在的结果:

[5, 6, 7, 8]
[
2, 4, 6, 8
8, 7, 9, 1
3, 5, 1, 2
]
[
1, 2, 
3, 4, 5, 
6, 
7, 8, 9, 
]

这就是我想要的结果:

[5, 6, 7, 8]
[
[2, 4, 6, 8]
[8, 7, 9, 1]
[3, 5, 1, 2]
]
[
[1, 2]
[3, 4, 5] 
[6]
[7, 8, 9]
]

我希望用括号和逗号打印数组,但每个一维数组应该位于单独的行上。

感谢任何帮助。谢谢!

最佳答案

为什么你不使用Arrays.toString(oneD)Arrays.deepToString(twoD)像这样:

int[] oneD = {5, 6, 7, 8};
int[][] twoD = {{2, 4, 6, 8}, {8, 7, 9, 1}, {3, 5, 1, 2}};
int[][] twoD2 = {{1, 2}, {3, 4, 5}, {6}, {7, 8, 9}};
System.out.println(Arrays.toString(oneD));
System.out.println(Arrays.deepToString(twoD));
System.out.println(Arrays.deepToString(twoD2));

这可以告诉你:

[5, 6, 7, 8]
[[2, 4, 6, 8], [8, 7, 9, 1], [3, 5, 1, 2]]
[[1, 2], [3, 4, 5], [6], [7, 8, 9]]

不要忘记导入您的库:

import java.util.Arrays;

关于java - 使用括号和逗号打印二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43423940/

相关文章:

java - 在特定情况下,Java 怎么可能不是类型安全的呢?

Java和MySql为这个类设置unicode字符

python - 在切片字符串中插入字符串 (Python)

java - 将 arrayList 数据加载到 JTable

java - 为什么我不能计算常量注释参数?

javascript - 如何使用javascript在for循环中查找特定的数组项

c++ - 将数组初始化为 0 的正确且最简单的语法方法

c++ - 栈结构数组

javascript - 检查表示 HTML 的文本中的 body 标签是否为空

java - 在 Java 字符串集合(map、hash.etc)中为同一个键存储 10 个值