如何格式化数组,使其在打印时看起来像矩阵?

时间:2015-01-16 22:10:23

标签: java arrays matrix

如何格式化二维数组以打印出一种矩阵"样式"。

例如,在这段代码数组中得到两个二维int数组的乘积。

说一个像这样的2x2矩阵

   59 96

   78 51

在打印输出的命令提示符中,它最终显示为

59 96 78 51

如何使其以行和列的矩阵类型格式显示。

2X2只是这个程序的一个例子,2d数组必须大于或等于50。

            else
           {
            int[][] array; 
           //this will hold the multiplied thing

            array=multiply(matrix,matrix2);

            System.out.println("this is the result of the multiplication");
            //print out the array
            for(int i=0; i<row; i++)
            {
                for( int j=0; j< col2; j++)
                {
                    System.out.print(array[i][j] + " \t");

                }
            }   

3 个答案:

答案 0 :(得分:2)

这应该可行,但这种格式化方式并不那么容易。

for(int i=0; i<row; i++) {

        for( int j=0; j< col2; j++) {

            System.out.print(array[i][j] + " \t");
        }
        System.out.println();
} 

答案 1 :(得分:0)

在代码中添加一行:

System.out.println("this is the result of the multiplication");
        //print out the array
        for(int i=0; i<row; i++)
        {
            for( int j=0; j< col2; j++)
            {
                System.out.print(array[i][j] + " \t");

            }
            System.out.println();
        }  

答案 2 :(得分:0)

或制作这样的方法

  public static void printMatrix(int[][] mat) {
  System.out.println("Matrix["+mat.length+"]["+mat[0].length+"]");
       int rows = mat.length;
       int columns = mat[0].length;
       for (int i = 0; i < rows; i++) {
           for (int j = 0; j < columns; j++) {
               System.out.printf("%4d " , mat[i][j]);
           }
           System.out.println();
       }
       System.out.println();
  }

并从您的主程序中调用它

printMatrix(array);