私はJavaを勉強しています。そして私はそれが魔方陣であるかどうかを返す2D配列をチェックするコードを作っていました。Javaでnxn行列の各列の和を求める方法は?
これを行うには、私はいくつかの異なるメソッドを記述しなければならず、そのうちの1つはチェックするためのもので、各列の要素の合計がすべて等しいことです。私は行のためにすることができたが、私は列のためにそれをしようとしたときに私は少し混乱した。そして、私の友人は、すべての行の合計が等しいことをチェックする方法とほぼ同じだと言った。私の行の方法は以下の通りです。
public static boolean rowSumsOK(int arr[][], int total) {
boolean a = false;
total = sumOneRow(arr);
int x=0; // this will be counted sum for each rows
for (int i=0; i<arr.length; i++){
for (int j=0; j<=arr.length; j++){
x = x + arr[i][j];
}
if(x != total){
a = false;
break;
}
else
a = true;
}
return a;
}
と、彼は列のためにそれを行うため、その方法に変更することが示唆は以下のとおりです。
x = x + arr[j][i];
私はまだこのことについて少し混乱しています。この方法について私に説明してもらえますか、それとも私にそれを行う別の方法を教えてもらえますか?
あなたに与えられた提案は、列を合計する必要がありますこのような何かを試してみてください。あなたがそれについて混乱しているなら、私は配列が何であるか、そして/またはどのようにループが働くかについてもっと学ぶことをお勧めします。 – Danny
私はそれがどう起こったのかわからないが、私はちょうどここに投稿した後に言ったことを考え出した。多分私は彼が何を意味するかを見るのに十分に集中していなかったでしょう。 ありがとうございました –