int data[] = newint[10]; /** Creates a new instance of Array */ publicArray() { data[10] = {10,20,30,40,50,60,71,80,90,91}; } }
NetBeans указывает на ошибку в этой строке:
data[10] = {10,20,30,40,50,60,71,80,90,91};
Как я могу решить проблему?
Переведено автоматически
Ответ 1
data[10] = {10,20,30,40,50,60,71,80,90,91};
Приведенное выше неверно (синтаксическая ошибка). Это означает, что вы присваиваете массив data[10], который может содержать только элемент.
Если вы хотите инициализировать массив, попробуйте использовать инициализатор массива:
int[] data = {10,20,30,40,50,60,71,80,90,91};
// or
int[] data; data = newint[] {10,20,30,40,50,60,71,80,90,91};
Обратите внимание на разницу между двумя объявлениями. При присвоении нового массива объявленной переменной необходимо использовать new.
Даже если вы исправите синтаксис, доступ data[10] по-прежнему будет некорректным (вы можете получить доступ только к data[0] to data[9], потому что индекс массивов в Java основан на 0). Доступ data[10] вызовет исключение ArrayIndexOutOfBoundsException.
Ответ 2
Попробуйте
data = newint[] {10,20,30,40,50,60,71,80,90,91 };
Ответ 3
Когда вы создаете массив размером 10, он выделяет 10 слотов, но от 0 до 9. Этот цикл for может помочь вам увидеть это немного лучше.
publicclassArray { int[] data = newint[10]; /** Creates a new instance of an int Array */ publicArray() { for(inti=0; i < data.length; i++) { data[i] = i*10; } } }