-1
マトリックスが折り畳まれていないか確認してください。 テストを行う必要があります。java - エクササイズ、対象配列で正しく機能しない
コードは常にfalseを返し、それがなぜ私には不明です。コードの何が間違っていますか?
コード:
public class test1 {
public static void main(String[] args) {
int[][] mat = { { 1, 7, 9 }, { 2, 9, 7 }, { 9, 2, 1 } };
boolean flag = true;
for (int i = 0; i < mat.length; i++) {
for (int j = 0; j < mat.length; j++) {
System.out.print("[" + mat[i][j] + "]");
}
System.out.println();
}
for (int i = mat.length - 1; i > -1; i--) {
for (int j = mat.length - 1; j > -1; j--) {
if (i == j) {
j--;
}
if (mat[i][j] != mat[j][i]) {
flag = false;
System.out.println("mat[i][j]" + mat[i][j] + " " + i + " "
+ j);
j = -1;
i = -1;
}
}
}
if (flag == false) {
System.out.println("Not first folded matrix");
} else {
System.out.println("First folded matrix");
}
}
}
ありがとう
まあ、見てみましょう:
はあなたにそれを呼び出す
main
などを...初めてのl oop、iとjの値は何ですか? mat [2] [1]は2、mat [1] [2]は9です。これらは等しくないので、すぐにiとjを-1に設定します。その時点で、ループは完了し、もはや実行されません。 –あなたは何を達成しようとしていますか?行列がその対角線に対して対称であるかどうかを確認しますか? –
私は理解していない、このコードを適用する方法を説明することができます。問題を解決するにはどうすればいいですか – Liran