この問題は、メンバーが行列で最大の合計を持つ行を返す必要がある場合、問題は再帰的メソッド) あなたは現在の行のインデックスと同様に合計を保持するクラスを定義することができ、私を助けてくださいは、そのメンバーの合計が行列の最大値である行番号を見つけるのに役立つ必要があります
public class MatrixLen {
private int [][] _mat;
public MatrixLen(int sizeRow, int sizeCol)
{
_mat = new int[sizeRow][sizeCol];
Random generator = new Random();
for (int i = 0; i< sizeRow; i++){
for (int j=0; j<sizeCol; j++){
_mat[i][j] = generator.nextInt(20) - 10;
System.out.print(_mat[i][j]+ " ");
}
System.out.println();
}
}
private int SumRow(int i){
return SumRow(i,0);
}
private int SumRow(int i, int j){
if(j>=_mat[i].length) return 0;
return _mat[i][j] + SumRow(i, j+1);
}
public int maxRow(){
if(_mat.length==0) return -1;
return maxRow(0);
}
private int maxRow(int i){
if (i == _mat.length - 1) return SumRow(i); //end case - last row
int max = maxRow (i + 1);
int thisRow = SumRow(i);
return thisRow > max ? thisRow : max;
}
}
あなたのコードは、あなたが必要とするだけ十分に閉じています。sumRow(i)の代わりに、あなたのメソッド 'maxRow'のmax行のインデックスを返してください。乾杯。 – lrnzcig
行のインデックスが返されるのは、行が最大値より大きい場合のみです。最大値のインデックスを表示する方法はわかりません。 – Meni
return returnRow> indexRow()のようなものですか? i:index_max'? (もちろん、 'index_max = maxRow(i + 1)')です。とにかく、私の意見では、すでに有効な回答があります。 – lrnzcig