2012-10-13 49 views
0

這是一個家庭作業問題,我仍然是java的新手。 編寫計算標記中所有值之和的代碼段。Java中兩維數組的總和

這是我的答案,它有編譯錯誤。請幫忙

class myArray{ 

    public static void main(String args []){ 

     int [] [] marks = {{1,2,3,4,5}, {6,7,8,9}, {10,11,12}}; 
     for(int i = 0; i<marks.length; i++){ 
      int sum = 0; 
      for(int j = 0; j <marks[i].length; j++) { 
       sum = sum + makrs[j][i]; 
      } 
     } 
     System.out.println(sum); 

    } 
} 
+1

查看編譯錯誤並嘗試調試您的代碼,這有助於學習。 – Rndm

+2

如果你簡單地編譯它,會發生什麼情況?這實際上是一個簡單的錯誤,所以你應該像@shg所說的那樣檢查編譯器的輸出。 –

+0

int [] []和String [] args更傳統,但我不記得如果這會導致錯誤,那麼我不記得。而且你在某個地方寫了makrs。 –

回答

0

有兩個語法錯誤和一個類型。

  1. 移動int sum =0;上述for循環,你需要它的外循環打印值
  2. 正確的標記讀取來自marks[j][i]指數marks[i][j]
  3. 糾正在同一行錯字如(sum = sum + makrs[j][i];)以上。您已經到位類型makrsmarks

    int [] [] marks = {{1,2,3,4,5}, {6,7,8,9}, {10,11,12}};   
    
    int sum = 0; 
    for(int i = 0; i<marks.length; i++){ 
        for(int j = 0; j <marks[i].length; j++){ 
         sum = sum + marks[i][j]; 
        } 
    } 
    System.out.println(sum); 
    
+0

非常感謝你的兄弟:D我有很多任務要做。你能幫助我嗎? 你也可以在這裏解釋一下這個機制嗎? 我的程序現在工作正常:D感謝你 \t int [] [] marks = {{1,2,3,4,5},{6,7,8,9},{10,11, 12}}; \t \t int sum = 0; \t \t \t 爲\t(INT I = 0; I

+0

讓我們這樣理解它。你的二維數組表示一個3行5列的表格。首先'for'循環迭代你的行(3次),第二個'for'循環迭代每一行中的列(5次)和一次一行。找到行+列後,例如第一行,第一列,您將該位置的值作爲1,並將其添加到總和變量中。 –

+0

再次感謝你的兄弟......我有更多的問題要求和任務完成..你可以自由地幫忙嗎?問候 –