PDA

Visualizza la versione completa : [Java] Matrice


guylmaster
15-02-2005, 20:55
Vorrei sapere perchè questo programma me lo compila ma quando lo vado ad eseguire mi da errore:





public class vettore{

public static void main(String[] args){

int[][] mat= new int[1][1];

//int[][] mat = {{1,2,3}, {1,2,3}};
//mat[1][1] = 332;

//mat[0] = new int[0];
//mat[1] = new int[1];

mat[1][1] = 332;

System.out.println(mat[1][1]);

}

}


Errore:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at vettore.main(vettore.java:13)
Press any key to continue...

Cioè se creo una matrice dandogli già i parametri e senza dirgli in pratica le dimensioni posso fare la mia bella assegnazione di tipo mat[1][1] = 332, invece dandogli subito la grandezza mi da errore, perchè? come andrebbe fatto il codice?

Grazie mille in anticipo,
Guylmaster.

keratox
15-02-2005, 21:00
Mi sottoscrivo perche' mi interessa

cmq non so qua ci vorrebbero i puntatori :madai!?:

guylmaster
15-02-2005, 21:01
Daccordo ho scoperto da me la risposta, scusate per l'idiozia commessa :D

In pratica nella definizione devo scrivere il numero delle righe effettive mentre nell'assegnazione devo partire con la conta da 0 giusto ? :stordita:

afurly
15-02-2005, 21:06
esatta se nella dichiarazione metti [2][3] vai da [0][0] a [1][2]...

ciao ciao

netarrow
15-02-2005, 22:54
Originariamente inviato da keratox
cmq non so qua ci vorrebbero i puntatori :madai!?:

li ha usati sotto forma di matrici che non sono altro che puntatori a puntatori, ovvero un array bidimensionale che punta al suo primo elemento il quale a sua volta è un array che punta ad un intero normale.
Essendo però espliciti i puntatori in Java non occorre dereferenziarli quando vuole riferirsi al valore puntato.

:ciauz:

Loading