Inicializuji pole takto:
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 upozorňuje na chybu na tomto řádku:
data[10] = {10,20,30,40,50,60,71,80,90,91};
Jak mohu problém vyřešit?
data[10] = {10,20,30,40,50,60,71,80,90,91};
Výše uvedené není správně (syntaktická chyba). Znamená to, že do data[10]
přiřazujete pole, které může obsahovat pouze jeden prvek.
Pokud chcete inicializovat pole, zkuste použít Inicializátor pole:
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};
Všimněte si rozdílu mezi oběma deklaracemi. Při přiřazování nového pole do deklarované proměnné je třeba použít new
.
I když syntaxi opravíte, přístup k data[10]
je stále nesprávný (přistupovat můžete pouze k data[0]
až data[9]
, protože index polí v Javě je od 0). Přístup k data[10]
vyvolá ArrayIndexOutOfBoundsException.
Zkuste data = new int[] {10,20,30,40,50,60,71,80,90,91 };
snažíte se nastavit desátý prvek pole na pole try
data = new int[] {10,20,30,40,50,60,71,80,90,91};
FTFY