Ciao a tutti
e' il mio primo messaggio qui
Sto scrivendo un programma che deve leggere una stringa da rete e rimepire una matrice corrispondente. Al momento ho:
- il main
ClientMap map = new ClientMap(conn);
- la classe ClientMap
codice:private Cell[][] draw = new Cell[10][6];il problema e' che sembra che non istanzi nessun oggetto draw. Infatti dopo nel main richiamo:codice:public ClientMap(ServerConnection conn) { String reading = ""; reading = getSizeFromNet(conn); Integer rows_temp = Integer.valueOf(reading.substring(0,reading.indexOf(' '))); Integer columns_temp = Integer.valueOf(reading.substring(reading.indexOf(' ')+1,reading.length())); int rows = rows_temp.intValue(); int columns = columns_temp.intValue(); System.out.println("Playing on a map with " + rows + " rows and " + columns + " columns.");
che e' un metodo della classe ClientMap che fa:codice:map.getMapFromNet(conn);
Ora, il metodo scritto cosi e' abbastanza abominevole. Il problema pero lo raggiungo a run-time. Quando arrivo acodice:public void getMapFromNet(ServerConnection conn) { String reading = ""; int rows = 10; int columns = 6; draw[0][0].setType('.'); System.out.println(draw[0][0]); System.out.println("CIAO"); printMap();
Che e' un metodo che semplicemente va a mettere un carattere in un campo di draw, mi dice:codice:draw[0][0].setType('.');
Credo che quindi il problema sia nel fatto che lui non istanzia affatto l'array e che il tutto punta a nulla.codice:Exception in thread "main" java.lang.NullPointerException
Qualche idea?


Rispondi quotando