在Java中像打印表一样打印2d数组

在Java中像打印表一样打印2d数组,java,arrays,eclipse,Java,Arrays,Eclipse,我想打印一个像表格一样的二维数组 i、 如果出于某种原因,他们把所有的1都放进去 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 正如上面所述,但在JavaEclipse的控制台中,没有花哨的按钮和GUI,但在控制台中,我有 import java.util.Scanner; public class Client { public static void main(String[] args){ Scanne

我想打印一个像表格一样的二维数组 i、 如果出于某种原因,他们把所有的1都放进去

1 1 1 1 

1 1 1 1 

1 1 1 1

1 1 1 1 
正如上面所述,但在JavaEclipse的控制台中,没有花哨的按钮和GUI,但在控制台中,我有

    import java.util.Scanner;
    public class Client {
        public static void main(String[] args){
            Scanner input = new Scanner(System.in);

            int[][] table = new int[4][4];
            for (int i=0; i < table.length; i++) {
                for (int j=0; j < table.length; j++) {
                    System.out.println("Enter a number.");
                    int x = input.nextInt();
                    table[i][j] = x;
                    System.out.print(table[i][j] + " "); 
                } 
                    System.out.println();
        }
        System.out.println(table);
    }
}

考虑使用
java.util.array

其中有一个名为
deepToString
的方法。这在这里很管用

System.out.println(Arrays.deepToString(table));


此处相关:

您将通过这些数组进行循环以打印出内容。数组的toString()只打印参考值。

您需要将数组打印出来,而不是输入数字。所以你可以这样做:

public class PrintArray {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        int[][] table = new int[4][4];
        for (int i = 0; i < table.length; i++) {
            for (int j = 0; j < table.length; j++) {
                // System.out.println("Enter a number.");
                int x = input.nextInt();
                table[i][j] = x;
            }
            //System.out.println();
        }
        // System.out.println(table);

        for (int i = 0; i < table.length; i++) {
            for (int j = 0; j < table[i].length; j++) {
                System.out.print(table[i][j] + " ");
            }
            System.out.println();
        }
    }
}
公共类printary{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
int[]table=新int[4][4];
对于(int i=0;i
尝试将此简单for循环复制到打印4x4表格:

 Scanner input = new Scanner();
    int numArray [] [] = new int [4] [4];
    for ( int c = 0; c < 4; c++ ) {
    for (int d = 0; d < 4; d++) { 
    System.out.print("Enter number : ");
    nunArray [c][d] = input.nextInt();
    } 
    }
    for (int a = 1; a<5;a++) {
    for (int b = 1; b <5;b++) {
    System.out.print(numArray [a][b]+" ");
    }
    System.out.println();
    }
扫描仪输入=新扫描仪();
纽马拉国际酒店[][]=新国际酒店[4][4];
对于(int C=0;C<4;C++){
对于(int d=0;d<4;d++){
系统输出打印(“输入编号:”);
nunArray[c][d]=input.nextInt();
} 
}

对于(int a=1;aI down vote的原因是:“缺乏研究”。抱歉,我在任何地方都找不到这个问题,如果你能向我展示一个问题,询问如何在控制台中打印这样的数组,那么我就不会质疑你的downvoteWell了,谢谢,可能是标题的二维部分中的连字符使我的搜索中断了也使用2d而不是二维,因为它给了我更多的结果谢谢你的帮助,如果我有代表,我会给你的答案投上一票,但显然我的问题应该投下2票,这是非常有用的,我只是不太了解数组实用程序,所以我选择了更复杂但我更了解的方法,并修改了我的for循环l艾克·汤加说我一定会研究这个问题,并尝试了解更多关于你的答案。@AdamCalcanes听起来不错。我链接的帖子包含了很多关于如何实现这一点的信息。学习新方法总是很棒的:D@AdamCalcanes您的代码中有错误:第6行,变量应该是'numArray'而不是'nunArray'。第11行,将是al因此,生成java.lang.ArrayIndexOutOfBoundsException。
 Scanner input = new Scanner();
    int numArray [] [] = new int [4] [4];
    for ( int c = 0; c < 4; c++ ) {
    for (int d = 0; d < 4; d++) { 
    System.out.print("Enter number : ");
    nunArray [c][d] = input.nextInt();
    } 
    }
    for (int a = 1; a<5;a++) {
    for (int b = 1; b <5;b++) {
    System.out.print(numArray [a][b]+" ");
    }
    System.out.println();
    }