【发布时间】:2013-11-22 21:45:08
【问题描述】:
我正在执行一项任务,但无法编译代码。代码必须有递归。这个想法是顺序传递一个二维数组 - 逐行,逐列,并获得一个私有帮助方法来匹配案例并返回结果。
我尝试查看不同的解决方案,一切似乎都井井有条,但是我收到了一个错误:
required: int
found: int[][]
我将一个数组、int 行和 int 列传递给一个应该完全接受这三个的方法。 看看:
public static int [][] calculateProximity ( boolean [][] mineField )
{
int [][] proximityField = new int [mineField.length][mineField[0].length];
for (int row = 0; row < mineField.length; row++) {
for (int column=0; column <mineField[row].length; column++) {
proximityField [row][column] = calculateProximity (mineField, row, column);
}
}
return proximityField;
}
private static int [][] calculateProximity (boolean [][] mineField,
int row, int column)
{
int [][] proximityField;
if (row >= mineField.length || column >= mineField[row].length){
return proximityField=0;
}
else if (mineField [row][column]= true){
proximityField[row][column]=1;
return proximityField;
}
else
{
proximityField[row][column]=0;
}
return proximityField;
}
顺便说一下,calculateProximity 的主要方法是返回一个int 2d 数组,但是给它的是一个boolean 2d 数组。
【问题讨论】:
标签: arrays recursion methods 2d