Como inicializar um array em Java?

estou a inicializar um conjunto de dados como este:

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};
    }

}

o NetBeans aponta um erro na Linha

data[10] = {10,20,30,40,50,60,71,80,90,91};
Como posso resolver o problema?

Author: ROMANIA_engineer, 2009-12-21

10 answers

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

O acima não está correcto (erro de sintaxe). Significa que você está atribuindo um array a data[10] que pode conter apenas um elemento.

Se quiser inicializar uma lista, tente usar o Inicializador da lista :

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};
Note-se a diferença entre as duas declarações. Ao atribuir uma nova matriz a uma variável declarada, new deve ser usado.

Mesmo que corrija a sintaxe, o acesso a data[10] continua incorrecto (só pode aceder a data[0] a data[9] porque o índice = = ligações externas = = O acesso a data[10] vai lançar um array por cima de uma excepção de Acesso .

 501
Author: Prasoon Saurav, 2016-01-10 14:47:06

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

 29
Author: Dean Povey, 2014-03-25 10:35:49

Quando se cria uma matriz de tamanho 10, atribui-se 10 slots, mas de 0 a 9. Isto para loop pode ajudar-te a ver isso um pouco melhor.

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;
        }
    }
}
 19
Author: Bernie Perez, 2017-10-16 14:37:02

Podes fazer:

int[] data = {10,20,30,40,50,60,71,80,90,91};
 14
Author: , 2014-03-30 19:54:51

Sintaxe

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

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

Exemplo:

int [] points = new int[]{ 1,2,3,4 };
 10
Author: Vinayak, 2013-11-27 07:19:11

Em vez de aprender sites não-oficiais aprender com o site oracle

Link abaixo: Clique aqui

*você pode encontrar inicialização, bem como declaração com descrição completa *

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
}

Input : 10 / / Tamanho da matriz 10 20 30 40 50 60 71 80 90 91

Mostrar os dados:

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

Resultado: 10 20 30 40 50 60 71 80 90 91

 6
Author: Shivanandam Sirmarigari, 2018-07-18 16:06:34

Você não pode inicializar um array assim. Além do que outros sugeriram, você pode fazer:

data[0] = 10;
data[1] = 20;
...
data[9] = 91;
 3
Author: fastcodejava, 2009-12-21 04:07:36

Se quiser inicializar uma matriz num construtor, não podes usar esses inicializadores de array.

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

Você não precisa especificar o tamanho com data[10] = new int[] { 10,...,91} Basta declarar a propriedade / campo com int[] data; e inicializá-lo como acima. A versão corrigida do seu código pareceria com o seguinte:

public class Array {

    int[] data;

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

}
Como vê, o suporte está vazio. Não há necessidade de dizer o tamanho entre os suportes, porque o a inicialização e o seu tamanho são especificados pela contagem dos elementos entre os parêntesis.
 2
Author: Sedat Kilinc, 2018-02-21 17:43:35

Você está tentando definir o décimo elemento do array para o array tente

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

FFICY

 1
Author: schubySteve, 2016-04-01 11:17:25
Talvez isto funcione.
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};
    }
}
 0
Author: Sajjad Behravesh, 2015-01-18 10:24:07