如何使用数组参数调用方法

时间:2015-11-16 00:47:44

标签: java arrays debugging multidimensional-array methods

我正在尝试打印带有随机数的2d网格和带有-1s的另一个相同大小的网格代替可被3整除的数字。我完成了所有的一切,但我无法弄清楚如何制作以下工作: Arraycopy = c.createCoords({10,10});

我知道我应该用int [] []来调用方法,我只是不记得如何。

以下是所有代码:

public class practice
{

   public int [][] createArray(int rSize, int cSize)
    {
        Random r = new Random();
        int[][] array = new int [rSize] [cSize];
         for (int row = 0; row <array.length; row++)  
       {
           for(int col = 0; col < array[0].length; col++)
           {
             array[row][col] = r.nextInt(25);

           }

       }
         return array;
    }


    public void print2DArray(int[][] Array)
    {
       for (int row = 0; row <Array.length; row++)  
       {
           for(int col = 0; col < Array[0].length; col++)
           {
               System.out.print(Array[row][col] + "\t");
           }
            System.out.println("\n");
       } 
    }
public int[][] createCoords(int[][] Array)
{
    int [] [] coord = {
    {-1,-1,-1, -1, -1, -1, -1, -1, -1, -1},
    {-1,-1,-1, -1, -1, -1, -1, -1, -1, -1},
    {-1,-1,-1, -1, -1, -1, -1, -1, -1, -1},
    {-1,-1,-1, -1, -1, -1, -1, -1, -1, -1},
    {-1,-1,-1, -1, -1, -1, -1, -1, -1, -1},
    {-1,-1,-1, -1, -1, -1, -1, -1, -1, -1},
    {-1,-1,-1, -1, -1, -1, -1, -1, -1, -1},
    {-1,-1,-1, -1, -1, -1, -1, -1, -1, -1},
    {-1,-1,-1, -1, -1, -1, -1, -1, -1, -1},
    {-1,-1,-1, -1, -1, -1, -1, -1, -1, -1}

};
    for (int row = 0; row <coord.length; row++)  
       {
           for(int col = 0; col < coord[0].length; col++)
           {
               System.out.print(coord[row][col] + "\t");
           }
            System.out.println("\n");
}

    for (int row = 0; row <coord.length; row++)  
       {
           for(int col = 0; col < Array[row].length; col++)
           {
               if(Array[row][col] %3 == 0)
               coord[row][col] = -1;  

       }

       }
    return coord;

}

    public static void main(String[] args) 
    {
        Scanner in = new Scanner(System.in);
        practice c = new practice();

      int [][] myArray; 
      int [][] Arraycopy;
      myArray = c.createArray(10, 10); 
     Arraycopy = c.createCoords({10,10});
     c.print2DArray(Arraycopy);
      c.print2DArray(myArray);




    }


}

1 个答案:

答案 0 :(得分:1)

由于您的方法采用int[][]作为参数,{{10,10}}可以正常工作,因为它是int[1][2],但显然不是您的目标。

我建议直接在这里使用myArray

解决方案

替换

c.createCoords({10, 10});

c.createCoords(myArray);