この割り当ての目標は、2D配列を作成し、最大値を持つ行を配列に戻すことです。私は、メインメソッドでメソッドを呼び出すしようとすると、私は次を得る:Java 2D配列:最大値を持つ行を返します
java.lang.ArrayIndexOutOfBoundsException:2
をこの時点で、私は続行するかどうかはわかりません。私はあなたがやろうとしているか理解していれば
public class MDArray
{
private double[][] mdarray;
public MDArray(double[][] a)
{
mdarray = new double[a.length][];
for(int i = 0; i < a.length; i++)
{
mdarray[i] = new double[a[i].length];
for(int j= 0; j < a[i].length; j++)
{
mdarray[i][j] = a[i][j];
}
}
}
public double[] max()
{
double[] maxVal = new double[mdarray.length];
for(int i = 0, j = i + 1; i < maxVal.length; i++)
{
for(int k = 0; k < mdarray[i].length; k++)
{
if(mdarray[i][k] > mdarray[j][k])
{
maxVal = mdarray[i];
}
}
}
return maxVal;
}
}
コードが上書きする場合、入力2D配列を受け入れるコンストラクタの目的は何ですか? –
本当に上書きされているのですか、単に 'mdarray = a;'の代わりに手動で各値をコピーしていますか? – Gendarme
@Gendarme right right –