tipos que programacion manejo guardar enteros declarar datos como arreglos arreglo array java arrays initialization

que - ¿Cómo inicializar una matriz en Java?



que es un array en programacion (10)

Cuando creas una matriz de tamaño 10, asignó 10 espacios pero de 0 a 9. Este bucle for podría ayudarte a verlo un poco mejor.

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

Estoy inicializando una matriz de datos 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}; } }

NetBeans señala un error en la línea

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

¿Cómo puedo solucionar el problema?


No puedes inicializar una matriz como esa. Además de lo que otros han sugerido, puedes hacer:

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


Sintaxis

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

Ejemplo:

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


Tal vez esto 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}; } }


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


Tu puedes hacer:

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


está intentando establecer el décimo elemento de la matriz en la matriz intente

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

FTFY


Si desea inicializar una matriz en un constructor, no puede usar el inicializador de matriz como.

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

Solo cambia a

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

No tiene que especificar el tamaño con data[10] = new int[] { 10,...,91} Solo declare la propiedad / campo con int[] data; e inicializarlo como arriba. La versión corregida de su código se vería como la siguiente:

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

Como veis el soporte están vacíos. No es necesario indicar el tamaño entre paréntesis, ya que la inicialización y su tamaño se especifican por el recuento de los elementos entre paréntesis.


En lugar de aprender sitios web no oficiales, aprenda del sitio web de Oracle

enlace siguiente: Haga clic aquí

* Puede encontrar la inicialización y la declaración con una descripción 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 }

Entrada : 10 // tamaño de la matriz 10 20 30 40 50 60 71 80 90 91

Visualización de datos:

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

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


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

Lo anterior no es correcto (error de sintaxis). Significa que está asignando una matriz a los data[10] que pueden contener solo un elemento.

Si desea inicializar una matriz, intente usar 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};

Note la diferencia entre las dos declaraciones. Cuando se asigna una nueva matriz a una variable declarada, se debe usar la new .

Incluso si corrige la sintaxis, el acceso a los data[10] sigue siendo incorrecto (solo puede acceder a los data[0] a los data[9] porque el índice de matrices en Java se basa en 0). El acceso a los data[10] lanzará una ArrayIndexOutOfBoundsException .