Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Problemino con un metodo della classe Scacchiera

    Ciao ragazzi vi pongo un problema che sicuramente molti di voi sembrerà una cavolata ma sono un novizio......Volevo sapere:una volta che ho fatto la scacchiera con questo construttore :

    import prog.utili.*;

    public class Scacchiera{
    int dim;

    static int x = 0;
    static int y = 0;
    public Scacchiera(int dim){
    this.dim=dim;
    Cella[][]scacchiera = new Cella[this.dim][this.dim] ;
    for (x=0;x<dim;x++){
    for (y = 0;y<dim;y++){
    Cella cell = new Cella(x,y);
    scacchiera[x][y]= cell;
    }
    }
    }
    }

    come faccio poi a fare un metodo com getCella(bla,bla) per sapere se la cella esiste nella scacchiera o per sapere cosa c'è dentro?
    Grazie mille!!!Ciao Ciao!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Bhè, manca qualcosa nella tua classe.
    codice:
    //aggiungi
    private Cella[][] scacchiera;
    
    // e questo nel costruttore:
    this.scacchiera = new Cella....;
    
    //quindi potrai avere un metodo del genere
    
    public Cella getCella(int x, int y) {
      return this.scacchiera[x][y];
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    ci ho provato ma mi dice "cannot find simbol".....uffi...se hai qualche altra idea dimmela...ti ringrazio molto comunque.

  4. #4
    scusa scusa
    avevo letto solo l'ultima riga...ora ci provo grazie mille!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    prego. in effetti ho editato il mio post subito dopo averlo inviato perché mi sono accorto che ti mancavano un po' di cose affinche il metodo potesse funzionare. Ora sono a pranzo, se hai problemi sono certo che riceverai ulteriore assistenza dai volenterosi del forum, oppure quando torno ci butto un'occhiata.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    ci ho provato...guarda ho scritto così:
    import prog.utili.*;

    public class Scacchiera{
    int dim;
    private Cella[][] scacchiera;

    static int x = 0;
    static int y = 0;
    public Scacchiera(int dim){
    this.dim=dim;
    Cella[][]scacchiera = new Cella[this.dim][this.dim] ;
    for (x=0;x<dim;x++){
    for (y = 0;y<dim;y++){

    this.scacchiera[x][y]= new Cella(x,y);
    }
    }
    }
    public Cella getCella(int d, int t) {
    return scacchiera[d][t];
    }
    }

    però mi dà un'eccezione del tipo NullPointerException nell'applicazione nella riga 15 di Scacchiera...sai per caso per quale motivo?

  7. #7
    All'interno del costruttore non devi utilizzare la seguente linea:

    Cella[][]scacchiera = new Cella[this.dim][this.dim] ;

    perchè così facendo dichiari un nuovo array scacchiera visibile solo all'interno del costruttore, lasciando così a null l'array della classe. Così quando richiami this.scacchiera[x][y] tenti di accedere ad un qualcosa che non esiste.

    Basta sostituire la riga precedente con

    scacchiera = new Cella[this.dim][this.dim] ;
    Al mio segnale... scatenate l'inferno!

  8. #8
    Ti ringrazio molto!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.