我需要關於這段代碼的幫助,這些代碼在閱讀關於Java編程的書時並不完全瞭解。基本上有一些代碼是寫給你糾正的。我設法糾正了一些訓練練習,但是這個讓我感到困惑......爲某個數組元素賦值
「以下代碼段應將值10分配給對應於第三行和第四列的數組元素。」
int[] a[] = new int[10][5];
a[2][3] = 10;
所以這是寫在書上的代碼。如果我真的糾正它,它應該如何看待?很困惑的東西實際上他們的意思,因此,如果有人可以解釋我是他們的意思,我真的很感激它..
我需要關於這段代碼的幫助,這些代碼在閱讀關於Java編程的書時並不完全瞭解。基本上有一些代碼是寫給你糾正的。我設法糾正了一些訓練練習,但是這個讓我感到困惑......爲某個數組元素賦值
「以下代碼段應將值10分配給對應於第三行和第四列的數組元素。」
int[] a[] = new int[10][5];
a[2][3] = 10;
所以這是寫在書上的代碼。如果我真的糾正它,它應該如何看待?很困惑的東西實際上他們的意思,因此,如果有人可以解釋我是他們的意思,我真的很感激它..
如果這是完整的問題,那麼它是不完整的。二維數組可以是row-major
或column-major
。如果不知道它是什麼,那麼你不能回答這個問題。這是row-major
實現的正確代碼,而對於column-major
,您必須翻轉索引。
a[3][2] = 10;
基本上有與第一線一個錯字,分配應該是:
int[][] a = new int[10][5];
a[3][2] = 10;
這是不正確的。這行代碼不會編譯。 'int [] a'應該是'int [] [] a'。 – Smit
Right @Smit我也犯了一個錯誤。抱歉! – diegoaguilar
你代碼是不正確的,它應該是:
int[][] a = new int[10][5];
a[3][2] = 10;
是的,這就是我所困惑的......如果書中陳述的完整問題讓我想知道......感謝您的解釋。 – user3042022
@Smit內存可能總是以相同的方式佈局,但它也將內存平鋪在內存中,因爲內存沒有行/列的感覺。在編程語言中,它和數學是相同的概念,但它不是如何存儲的,而是它的使用方式。 – clcto