Πώς να αρχικοποιήσετε έναν πίνακα στη Java;

Αρχικοποιώ έναν πίνακα ως εξής:

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 δείχνει ένα σφάλμα σε αυτή τη γραμμή:

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

Πώς μπορώ να λύσω το πρόβλημα;

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

Το παραπάνω δεν είναι σωστό (συντακτικό σφάλμα). Σημαίνει ότι αναθέτετε έναν πίνακα στο data[10] ο οποίος μπορεί να περιέχει μόνο ένα στοιχείο.

Αν θέλετε να αρχικοποιήσετε έναν πίνακα, δοκιμάστε να χρησιμοποιήσετε το 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};

Παρατηρήστε τη διαφορά μεταξύ των δύο δηλώσεων. Όταν αναθέτετε έναν νέο πίνακα σε μια δηλωμένη μεταβλητή, πρέπει να χρησιμοποιείται η λέξη new.

Ακόμα και αν διορθώσετε τη σύνταξη, η προσπέλαση του data[10] εξακολουθεί να είναι λανθασμένη (Μπορείτε να προσπελάσετε μόνο τα data[0] έως data[9] επειδή ο δείκτης των πινάκων στη Java βασίζεται στο 0). Η πρόσβαση στο data[10] θα προκαλέσει ArrayIndexOutOfBoundsException.

Σχόλια (3)

Δοκιμάστε data = new int[] {10,20,30,40,50,60,71,80,90,91 };

Σχόλια (1)

προσπαθείτε να ορίσετε το 10ο στοιχείο του πίνακα στον πίνακα try

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

FTFY

Σχόλια (0)