我正在尝试打印带有随机数的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);
}
}
答案 0 :(得分:1)
由于您的方法采用int[][]
作为参数,{{10,10}}
可以正常工作,因为它是int[1][2]
,但显然不是您的目标。
我建议直接在这里使用myArray
。
替换
c.createCoords({10, 10});
与
c.createCoords(myArray);