In Java gli array statici

ho una classe chiamata (Utente) e vorrei creare un array multidimensionale di
ho scritto

static User [][] userlist=new User[6][];

e ho un errore del compilatore, che è :
illegale inizio di espressione

grazie mille .

  • Si prega di utilizzare maiuscole e minuscole corrette quando l’invio di domande.
  • Si sceglie il delineato casella di controllo accanto alla risposta che ritieni corretta.
  • Per quanto riguarda l’errore di compilazione che stai ricevendo: sto indovinando che si sta cercando di mettere la dichiarazione all’interno di un metodo. La parola chiave static si applica solo alle variabili membro per indicare che sono condivisi da tutte le istanze della classe, e non solo la classe stessa. Come tale, essa deve essere al di fuori di qualsiasi metodo. Se questo non è il tuo problema devi postare più di contesto.
  • sì è vero ,la dichiarazione è all’interno di un metodo.grazie .
InformationsquelleAutor Ruba | 2010-12-06

 

4 Replies
  1. 13

    Ecco un esempio di un 5×5 2-matrice bidimensionale:

    private static int[][] matrix = new int[5][5];
    
    //set index 1, 2 to 5
    matrix[1][2] = 5;

    La parte statica realtà non fa differenza; dichiarare il membro statico.

    • si era aggiunto uno più ]
    • Oops, grazie per il fix errore di battitura.
    • Ho provato a farlo … ma non ha funzionato…
    • puoi dare più dettagli di “non lavoro”? (Per vedere bene hai trovato l’accettare pulsante per la risposta; anche se potrebbe essere prematuro per questa domanda :-). Date un’occhiata al passato, di domande e di prendere in considerazione di accettare risposte per loro: stackoverflow.com/users/367018/ruba)
    • io sono Utente di classe… e voglio fare un array multidimensionale di questa classe. così ho scritto : statico Utente [][] userlist=new Utente[6][]; e ho un errore del compilatore
    • E che cosa è l’errore di compilazione? (Si potrebbe desiderare di modificare questo nella tua domanda se è troppo difficile mostrare in un commento).

  2. 10

    Simile a @Mark soluzione, è possibile inizializzare un array multi-dimensionale

    private static int[][] matrix = {
        { 1,2,3,4,5 },
        { 6,7,8,9,10 }
    };
  3. 1
    static int[][] arr = new int[2][4] ;
    arr[0][0]=1;
    arr[0][1]=2;
    .
    .
    arr[0][3]=4;
    • Non credo che conti come multi dimensionale
    • Ops 🙂 aggiornato il codice
    • Ci ya go, ho rimosso il mio downvote di conseguenza
  4. 0

    Ci sono una serie di belle risposte, quindi questo è più informativo di nulla:

    Il problema è che tutte le dimensioni deve essere specificato esplicitamente o implicitamente-e il new X[..][..][..] ecc, (esplicitamente specificato dimensioni) modulo richiede che ogni dimensione (..) è un (non negativo) intero espressione. Il compilatore javac è che lancio errore perché ha trovato l’ultimo ] ma aspettavo un’espressione intera.

    new User[6][/*you need an integer expression here*/];

    Codifica felice.

    • inoltre, non funziona 🙁

Lascia un commento