Как инициализировать массив в Java?

Я инициализирую данные массива следующим образом:

public class Array {

    int data[] = new int[10]; 
    /** Creates a new instance of Array */
    public Array() {
        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], который может содержать только элемент.

Если вы хотите инициализировать массив, попробуйте использовать Array Initializer:

int[] data = {10,20,30,40,50,60,71,80,90,91};

// or

int[] data;
data = new int[] {10,20,30,40,50,60,71,80,90,91};

Обратите внимание на разницу между двумя объявлениями. При назначении нового массива объявленной переменной следует использовать new.

Даже если вы исправите синтаксис, доступ к data[10] по-прежнему неверен (вы можете получить доступ только к data[0] до data[9], потому что индекс массивов в Java основан на 0). Доступ к data[10] вызовет ArrayIndexOutOfBoundsException.

Ответ 2

Попробуйте data = new int[] {10,20,30,40,50,60,71,80,90,91 };

Ответ 3

Когда вы создаете массив размером 10, он выделяет 10 слотов, но от 0 до 9. Это для цикла может помочь вам увидеть, что немного лучше.

public class Array {
    int[] data = new int[10]; 
    /** Creates a new instance of an int Array */
    public Array() {
        for(int i = 0; i < data.length; i++) {
            data[i] = i*10;
        }
    }
}

Ответ 4

Вы можете сделать:

int[] data = {10,20,30,40,50,60,71,80,90,91};

Ответ 5

Синтаксис

 Datatype[] variable = new Datatype[] { value1,value2.... }

 Datatype variable[]  = new Datatype[] { value1,value2.... }

Пример:

int [] points = new int[]{ 1,2,3,4 };

Ответ 6

Вместо того, чтобы изучать не-официальные веб-сайты, узнайте на веб-сайте oracle

ссылка: Нажмите здесь

* Вы можете найти Инициализацию, а также декларацию с полным описанием *

int n; // size of array here 10
int[] a = new int[n];
for (int i = 0; i < a.length; i++)
{
    a[i] = Integer.parseInt(s.nextLine()); // using Scanner class
}

Вход: 10//размер массива 10 20 30 40 50 60 71 80 90 91

Отображение данных:

for (int i = 0; i < a.length; i++) 
{
    System.out.println(a[i] + " ");
}

Выход: 10 20 30 40 50 60 71 80 90 91

Ответ 7

Вы не можете инициализировать такой массив. В дополнение к тому, что предложили другие, вы можете сделать:

data[0] = 10;
data[1] = 20;
...
data[9] = 91;

Ответ 8

Если вы хотите инициализировать массив в конструкторе, вы не можете использовать такой инициализатор массива, как.

data= {10,20,30,40,50,60,71,80,90,91};

Просто измените его на

data = new int[] {10,20,30,40,50,60,71,80,90,91};

Вам не нужно указывать размер с data[10] = new int[] { 10,...,91} Просто объявите свойство/поле с int[] data; и инициализировать его, как указано выше. Скорректированная версия вашего кода будет выглядеть следующим образом:

public class Array {

    int[] data;

    public Array() {
        data = new int[] {10,20,30,40,50,60,71,80,90,91};
    }

}

Как видите, скобка пуста. Нет необходимости указывать размер между скобками, потому что инициализация и ее размер определяются количеством элементов между фигурными скобками.

Ответ 9

вы пытаетесь установить 10-й элемент массива в массив try

data = new int[] {10,20,30,40,50,60,71,80,90,91};

FTFY

Ответ 10

Возможно, это сработает:

public class Array {

    int data[] = new int[10]; 
    /* Creates a new instance of Array */
    public Array() {
        data= {10,20,30,40,50,60,71,80,90,91};
    }
}