Tornado 9000 Ответов: 2

Строка: 13] ошибка: "]" ожидается. У меня есть проблема, когда я создаю новый 2D-массив, я получаю ошибку. Пожалуйста, помогите мне.


Я создаю новый 2D-массив и получаю ошибку. Я новичок в 2D-массивах, поэтому не знаю, что мне нужно исправить.

Что я уже пробовал:

Я попытался добавить еще одну пару скобок, но это не сработало.
Вот мой код:
`//test to see if the matrix is magic.
public boolean isMagic() { 
 int[][] matrix = new int[][][arraysize];(here)`
 `// loop starts at 0, then loop will go horizontally until it reaches the end of the row. Then it will go to the next column.` 
` for(int i =0; i< arraysize; i++){`
   `for(int x=0; x<arraysize; x++){`
     `matrix[i] +=matrixArray[i][x];`
     
   
`}
}`
 
   
`}
}`

2 Ответов

Рейтинг:
2

Patrice T

Цитата:
Строка: 13] ошибка: "]" ожидается.

Посмотрите на свой код:
int[][] matrix = new int[][][arraysize];
// ^ here you say you want a 2d array
//                      ^ here you give 3 dimension
...
matrix[i] +=matrixArray[i][x];
//     ^ and here, there is only 1 dimension


Рейтинг:
19

OriginalGriff

посмотрите на свой код:

int[][] matrix = new int[][][arraysize];

Вы заявляете: matrix как двумерный массив целых чисел, и пытается присвоить ему трехмерный массив. Это не сработает, как и то, что вы можете поместить кварту в пинтовую кастрюлю!
Вам также необходимо указать оба измерения 2D массива при создании фактического экземпляра и присвоении пространства:
int[][] matrix = new int[arraysize][arraysize];


Кроме того, когда вы используете его, вам нужно ссылаться на оба измерения:
matrix[i][somethingHere] += matrixArray[i][x];