2014-09-06 101 views
0

我已經在Java中創建了一個2-D數組,並且我希望更改每個元素的值。Java中的多維數組中的元素修改

這裏就是我試圖完成

-number每個學生從1-10

-give每個學生5個隨機標記從40-100

int[][] students = new int[10][5]; 
Random numGen = new Random(); 

for (int i=0; i < students.length; i++){ 
    students[i] = i;   //Problem here..   
    for (int j=0; j<5; j++){ 
     students[i][j] = numGen.nextInt(40)+61 
    } 
} 

我有問題爲每個學生分配1-10個數字。

我在哪裏寫'//這裏有問題',是編譯器給我麻煩的地方。

修改多維數組中單個元素的適當方法是什麼?

+0

你不覺得,而不是在你的二維數組中有5列,你應該有6,一個爲從1到10的學生數字,其餘5爲標記。 – 2014-09-06 21:40:25

回答

0

java中的數組索引從0開始。這意味着第一行被表示爲0.要編輯二維數組中的元素,您需要指定兩個索引。 例如,要編輯5th row4th column上的元素,您應該使用myArray[4][3]。因爲你從0開始計數。myArray[0][0]是第一行的第一個元素。

int[][] students = new int[10][5]; 
Random numGen = new Random(); 

for (int i=0; i < students.length; i++){ 
    students[i][0] = i; //Change student[i] = i to student[i] = i+i 
         // because i starts from 0 but student number starts from 1.  
    for (int j=0; j<5; j++){ 
     students[i][j] = numGen.nextInt(40)+61 
    } 
} 
+0

啊好吧,謝謝 – jean 2014-09-06 21:42:23

+1

我編輯了代碼。再試一次。 – 2014-09-06 21:43:24

+0

該代碼將學生[i] [0]設置爲i,然後在以下循環中將其重置爲[j]的值。這不是打算的 – ErstwhileIII 2014-09-07 11:58:37

1

只需在學生中使用索引(並在需要時返回id作爲索引+ 1)。

int[][] students = new int[10][5]; 
Random numGen = new Random(); 

for (int i=0; i < students.length; i++){  
    for (int j=0; j<5; j++){ 
     students[i][j] = numGen.nextInt(40)+61 
    } 
}