Jeg initialiserer en matrise som dette:
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 peker på en feil på denne linjen:
data[10] = {10,20,30,40,50,60,71,80,90,91};
Hvordan kan jeg løse problemet?
data[10] = {10,20,30,40,50,60,71,80,90,91};
Ovennevnte er ikke korrekt (syntaksfeil). Det betyr at du tilordner en matrise til data[10]
som bare kan inneholde ett element.
Hvis du vil initialisere en matrise, kan du prøve å bruke 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};
Legg merke til forskjellen mellom de to deklarasjonene. Når du tilordner en ny matrise til en deklarert variabel, må new
brukes.
Selv om du korrigerer syntaksen, er det fortsatt feil å få tilgang til data[10]
(Du kan bare få tilgang til data[0]
til data[9]
fordi indeks for matriser i Java er 0-basert). Tilgang til data[10]
vil kaste en ArrayIndexOutOfBoundsException.
Try data = new int[] {10,20,30,40,50,60,71,80,90,91 };
du prøver å sette det 10. elementet i matrisen til matriseforsøket
data = new int[] {10,20,30,40,50,60,71,80,90,91};
FTFY