java - 打印二维数组中的行和列?

标签 java

我在打印二维数组时遇到问题...我的最终目标是获得如下所示的输出:

0   0   0   0   0   
0   0   0   0   0   
0   0   0   0   0   
0   0   0   0   0   

19  36  45  44  47  
64  48  47  74  99  
55  7   48  12  21  
78  19  95  61  11

第一组数字打印得很好,但在尝试打印第二组数字后,我不断收到错误消息。我应该在代码中更改什么?

/*
 * To change this license header, choose License Headers in Project
 Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
 package array2d;

/**
*
 * @author stevebrowning
 */
public class Array2d 
{

public static void main(String[] args)
{
         int [][] array2d = new int [4][5];

         array2d [0][0] = 0;
         array2d [0][1] = 0;
         array2d [0][2] = 0;
         array2d [0][3] = 0;
         array2d [0][4] = 0;

         array2d [1][0] = 0;
         array2d [1][1] = 0;
         array2d [1][2] = 0;
         array2d [1][3] = 0;
         array2d [1][4] = 0;

         array2d [2][0] = 0;
         array2d [2][1] = 0;
         array2d [2][2] = 0;
         array2d [2][3] = 0;
         array2d [2][4] = 0;

         array2d [3][0] = 0;
         array2d [3][1] = 0;
         array2d [3][2] = 0;
         array2d [3][3] = 0;
         array2d [3][4] = 0;

         int rows = 4;
         int columns = 5;
         int m, n;

         for ( m = 0; m < rows; m++) {
             for ( n = 0; n < columns; n++) {
                 System.out.print( array2d[m][n] + " ");
             }
             System.out.println( "")
             }
         }
          int [][] array2d = new int [][] {{19, 36, 45, 44, 47},
                                           {64, 48, 47, 74, 99},
                                           {55, 7, 48, 12, 21},
                                           {78, 19, 95, 61, 11}};
          for ( int i = 0; i < array2d.length; i++ )
            System.out.println( array2d[i] );
             }

最佳答案

在第一个示例中,您有两个循环;一种用于行,一种用于列。

在第二个示例中,只有一个循环。

为什么当你以不同的方式做事时,你会期望发生同样的事情?

你看,编程的要点是:细节很重要。您不会写下一些代码,而是仔细思考并写下所需的代码。

最后:您不应该对数组的维度进行硬编码 - 从这个意义上说,您的第二个循环更好,因为它使用 array.length 而不是手动分配的值。

关于java - 打印二维数组中的行和列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42967177/

相关文章:

java - 我们可以在普通 java 对象上调用 EasyMock.expect() 吗?

java - 仅一个窗口的全屏独占模式按键输入

java - Akka 中的轻量级线程

java - SSH 输出始终为空

java - 如何在 Eclipse 中包含 javax.jms.*?

java - 测试 Singleton 时使用 PowerMockito 断言失败

java - 在Java中解析requestUrl

java - 如何在 JLabel 中同时设置位置和设置文本?

java - 为什么我可以调用私有(private)方法?

java - "HTTP method DELETE doesn' 使用 jClouds 在 Swift 上执行批量删除时,t 支持输出“异常