2013-12-03 67 views
1

我需要關於這段代碼的幫助,這些代碼在閱讀關於Java編程的書時並不完全瞭解。基本上有一些代碼是寫給你糾正的。我設法糾正了一些訓練練習,但是這個讓我感到困惑......爲某個數組元素賦值

「以下代碼段應將值10分配給對應於第三行和第四列的數組元素。」

int[] a[] = new int[10][5]; 

a[2][3] = 10; 

所以這是寫在書上的代碼。如果我真的糾正它,它應該如何看待?很困惑的東西實際上他們的意思,因此,如果有人可以解釋我是他們的意思,我真的很感激它..

回答

0

如果這是完整的問題,那麼它是不完整的。二維數組可以是row-majorcolumn-major。如果不知道它是什麼,那麼你不能回答這個問題。這是row-major實現的正確代碼,而對於column-major,您必須翻轉索引。

a[3][2] = 10; 
+0

是的,這就是我所困惑的......如果書中陳述的完整問題讓我想知道......感謝您的解釋。 – user3042022

+0

@Smit內存可能總是以相同的方式佈局,但它也將內存平鋪在內存中,因爲內存沒有行/列的感覺。在編程語言中,它和數學是相同的概念,但它不是如何存儲的,而是它的使用方式。 – clcto

0

基本上有與第一線一個錯字,分配應該是:

int[][] a = new int[10][5]; 
a[3][2] = 10; 
+1

這是不正確的。這行代碼不會編譯。 'int [] a'應該是'int [] [] a'。 – Smit

+0

Right @Smit我也犯了一個錯誤。抱歉! – diegoaguilar

0

你代碼是不正確的,它應該是:

int[][] a = new int[10][5]; 
a[3][2] = 10;