看板 java 關於我們 聯絡資訊
※ 引述《drcula (Son of SUN)》之銘言: : 借版友的問題,想求助一下 : 弟做了一個10x10的二維陣列,由0~99這100個數字填滿的二維陣列 : 目前已經完成可顯示由0~99這樣的二維陣列 : 但我還需要在最後將這二維陣列的所有值加總,在這加總上卻遇上點問題 : 弟的程式碼如下 : public static void main(String[] args) : { int i,j =0 ; : int sum = 0 ; : int arr[][]; : arr = new int[10][10]; : { for( i = 0; i < 10; i++) : { for(j = 0; j < 10; j++) : arr[i][j] = 10*i+j ; : } : } : { for( i = 0; i < 10; i++) : { for(j = 0; j < 10; j++) : System.out.print(arr[i][j] + " "); : System.out.println(); : } : } : sum +=arr[i][j]; : System.out.println("Sum = " + sum); : } : 顯示是 : 0 1 2 3 4 5 6 7 8 9 : 10 11 12 13 14 15 16 17 18 19 : . : . : . : 90 91 92 93 94 95 96 97 98 99 : 找書或上網查關於加總的部份 : 錯誤的原因可能是,數組越界? : 不知道有沒有大大能提示看看解決的方法,感激不盡 首先,你的 code 排版可怕得不得了。 你的 code 如果依正常排版會是 public static void main(String[] args) { int i,j =0 ; int sum = 0 ; int arr[][]; arr = new int[10][10]; { for( i = 0; i < 10; i++) { for(j = 0; j < 10; j++) arr[i][j] = 10*i+j ; } } { for( i = 0; i < 10; i++) { for(j = 0; j < 10; j++) System.out.print(arr[i][j] + " "); System.out.println(); } } sum +=arr[i][j]; System.out.println("Sum = " + sum); } for 外面有個意義不明的 block, 第二個 for loop 第二層裡面的縮排 也是極為誤導。 另外你的 "顯示" 也沒有把重點貼出來 (Sum= ??? 那句在哪?還是有 Exception? 我猜是有出現 Array Out Of Bound Exception 吧? 問題其實排好版就很明顯:你的 sum+= arr[i][j]; 應該在哪做的? 找個 IDE, 開個 debugger,跟著一步步跑一次,很容易就會知道問題在哪了 我猜你想寫的是: public static void main(String[] args) { int sum = 0 ; int arr[][] = new int[10][10]; for( int i = 0; i < 10; i++) { for(int j = 0; j < 10; j++) { arr[i][j] = 10*i+j ; } } for( i = 0; i < 10; i++) { for(j = 0; j < 10; j++) { System.out.print(arr[i][j] + " "); sum += arr[i][j]; } System.out.println(); } System.out.println("Sum = " + sum); } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.19.43.14 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1433834751.A.8D3.html ※ 編輯: adrianshum (223.19.43.14), 06/09/2015 15:27:08 ※ 編輯: adrianshum (223.19.43.14), 06/09/2015 15:31:22
cha122977: 應該是這意思沒錯... 06/10 14:24
drcula: 感謝前輩指導,一次解決,甚至連後面的一些延申的也茅塞頓開 06/10 16:30