PDA

View Full Version : [JAVA] problema array di array(matrice)


daste.p
11-06-2008, 10:39
Ciao ragazzi ho 1problema con il riempimento di 1matrice di stringhe.

Vi mando il codice qui di seguito..le ho provate tutte ma non funziona uffa!



int righe=7;

int colonne=10;

String [][] nome;

String s="7W3W$3X2d2X2 3d1W$1W1X1W3 2W1d1W$1W1 3W1 2W2 $1P1o1W3d1W1p1 1W$1W3 2W1r1 1P1W$3W1c6W$";

String[] splittare = s.split(\\$);// crea 1array di stringhe con i pezzi divisi da $

if (splittare.length != righe)

throw new Exception("Le righe di configurazione del campo di gioco sono in numero diverso rispetto alle righe del campo di gioco)");




//////////////___FIN QUI è OK____///////////////




String conf;

int num_contigue;

nome=new String[righe][colonne];

for (int a = 0; a < splittare.length; a++) {

int tot_col = 0;

conf = splittare[a];

for (int b = 0; b < conf.length();b=+2)

{

num_contigue=Integer.parseInt(String.valueOf(conf.charAt(b)));


char tipo_elemento = conf.charAt(b+1);

for (int t = 0; t < num_contigue ; t++) {

switch (tipo_elemento) {

case 'X': nome[a][tot_col]="ixx";break;

case 'r': nome[a][tot_col]="bi";break;

case 'p': nome[a][tot_col]="lettera c";break;

case 'c': nome[a][tot_col]="ci";break;

case 'o': nome[a][tot_col]="oo";break;

case 'P': nome[a][tot_col]="pi grande";break;

case 'd': nome[a][tot_col]="di";break;

case 'W': nome[a][tot_col]="vudoppia grande";break;

case ' ': nome[a][tot_col]="spazio";break;

default: throw new Exception("Errore");

}

tot_col++;

}

}

}

for(int a=0;a<rows;a++)

{

for(int b=0;b<columns;b++)

System.out.println(nome[a][b]); // stampare array

}

}



Il mio problema è che mi rida sempre l'eccezione ArrayIndexOutOfBoundsException e dice che sfora la dimensione dell'array...l'ho rivisto 1miliardo d volte ma non trovo il problema....grazie a tutti siete grandi come al solito

banryu79
11-06-2008, 11:10
Metti il codice formattato tra i tag "["CODE"]" "["/CODE"]" (senza le virgolette) altrimenti sarà difficile che qualcuno abbia voglia di leggerlo, anche se sono poche righe.