我想寫一個代碼,填充NxN矩陣中的2個主對角線,例如: 如果N = 5(通過命令行輸入),我們會有填充零5x5矩陣和對角線必須填寫,如2S:填充二維數組中的主對角線
2 0 0 0 2
0 2 0 2 0
0 0 2 0 0
0 2 0 2 0
2 0 0 0 2
我寫了代碼全零表,但我不明白我們如何在對角線填寫。 縱觀5×5的情況下,我將不得不在以下指數在矩陣中填寫:
#1 (0,0) (0,n-1)
#2 (1,1) (1,n-2)
#3 (2,2) (2,n-3)
#4 (3,1) (3, n-2)
#5 (4,0) (4,n-1)
然而,由於N可以是任何數字,我認爲首先我必須要找到中間行,之後,我必須以相反的順序減少指數。
我只學了2周的Java,而且這個很難。 我對零填充表的代碼是這樣的:
public static void main (String[] args){
int n = Integer.parseInt(args[0]);
System.out.println(n);
int[][] table = new int[n][];
for (int i = 0; i < n; i++) {
table[i] = new int[i + 1];
for (int j = 0; j <= i; j++) {
table[i][j] = (0);
}
} System.out.print(Arrays.deepToString(table));
}
顯然,這是從我所需要達到很遠,我不知道這是否是完全正確的。我真的很感謝一些幫助。
請不要給作業問題的完整解決方案。它幫助沒有人。 – slim
是的,我明白了:) –