私が働いている問題である:各列の要素の和、カラム、および2つの対角線場合2D配列:魔方陣
辺の長さを有する正方形のn数1,2,3,...n2
で満たされているが魔方陣であります同じ値です。
4 x 4
アレイに入れたときに、キーボードから16値の値を読み取り、それらがマジックスクエアを形成するかどうかをテストするプログラムを作成します。
1,2,...16
の各数字はユーザーの入力に含まれていますか?すでに入力した番号を入力した場合、再度試してもらうようユーザーに指示します。- 数字が正方形に置かれている場合、行、列、および対角線の合計は同じですか?
- それは私が彼らが以前に入力した番号を入力した場合に再試行するようユーザに尋ねるとのトラブルを抱えていた二次元配列
を使用して行う必要があります。また、4 x 4
の数値は印刷されません。 私は何が間違っていますか?どうすれば修正できますか?
これは私がこれまで持っているコードです:
Scanner in = new Scanner (System.in);
int n =4;
int[][] square = new int[n][n];
int number = 0;
int num = 0;
for (int i = 0; i <16; i++){
number = num;
System.out.print ("Enter a number: ");
num = in.nextInt();
int num_2 = 0;
if (number==num || number==num_2) {
System.out.println ("Try again.");
System.out.println ("Enter a number: ");
num_2 = in.nextInt();
}
if (num > 16){
System.out.println ("Try again.");
break;
}
}
for (int i= 0; i < n; i++){
for (int j = 0; j < n; j++) {
num+=square [i][j];
System.out.print(square[i][j] + "\t");
}
}
}
}
第1の機能で何をご希望ですか?私は、それが1から16までであるはずのタイプミスがあると思います。私は正しいのですか? – vabs
あなたは正しいです。申し訳ありませんが、1から16までです。 –