Estoy inicializando una matriz como esta:
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 apunta a un error en esta línea:
data[10] = {10,20,30,40,50,60,71,80,90,91};
¿Cómo puedo resolver el problema?
java
arrays
initialization
hablador
fuente
fuente
Respuestas:
Lo anterior no es correcto (error de sintaxis). Significa que está asignando una matriz a la
data[10]
que puede contener solo un elemento.Si desea inicializar una matriz, intente usar Array Initializer :
Observe la diferencia entre las dos declaraciones. Al asignar una nueva matriz a una variable declarada,
new
debe usarse.Incluso si corrige la sintaxis, el acceso
data[10]
sigue siendo incorrecta (sólo se puede accederdata[0]
a ladata[9]
causa índice de arrays en Java es 0 basado en uno). El accesodata[10]
arrojará una ArrayIndexOutOfBoundsException .fuente
public static void product(int[] array){ int[] productArray = new int[array.length];
y quiero establecer todos los valores deproductArray
cero , ¿qué debo escribir? (Creo que debería escribir un bucle y establecer todos los valores a cero, ¿hay alguna forma mejor de hacer esto?)Tratar
data = new int[] {10,20,30,40,50,60,71,80,90,91 };
fuente
Cuando crea una matriz de tamaño 10, asigna 10 espacios, pero de 0 a 9. Esto para el bucle podría ayudarlo a verlo un poco mejor.
fuente
Tu puedes hacer:
fuente
Sintaxis
Ejemplo:
fuente
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 la descripción completa *
Entrada : 10 // tamaño de matriz 10 20 30 40 50 60 71 80 90 91
Mostrar datos:
Salida: 10 20 30 40 50 60 71 80 90 91
fuente
No puede inicializar una matriz como esa. Además de lo que otros han sugerido, puede hacer:
fuente
Si desea inicializar una matriz en un constructor, no puede usar esos inicializadores de matriz como.
Solo cámbialo a
No tiene que especificar el tamaño con
data[10] = new int[] { 10,...,91}
Simplemente declare la propiedad / campo conint[] data;
e inicialícelo como se indicó anteriormente. La versión corregida de su código se vería así:Como ves, el soporte está vacío. No es necesario indicar el tamaño entre los corchetes, porque la inicialización y su tamaño están especificados por el recuento de los elementos entre los corchetes.
fuente
intenta establecer el décimo elemento de la matriz en la prueba de matriz
FTFY
fuente
Quizás esto funcione:
fuente