Salve gente,
sto cercando di creare un metodo Java che dato in ingresso un Vector<Object[][]> mi restituisca una matrice di Object che è la concatenazione di tutte quelle nel Vector.
Esempio:
Matrice 1 di 4 colonne:
1 2 3 4
5 6 7 8
Matrice 2 di 4 colonne:
9 10 11 12
13 14 15 16
17 18 19 20
Vorrei che restituisse:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
Come posso fare?
Il metodo che ho scritto io è il seguente:
Il problema è che non funziona, e già nel primo for mi da problemi. Non riesco a capire perché il metodo che uso per determinare il numero di righe della nuova matrice sia sbagliato.codice:public static Object[][] unisciMatrici(Vector<Object[][]> v){ int rows = 0; int k = 0; for(int i=0;i<v.capacity();i++){ rows+=v.get(i).length; } Object[][] res = new Object[rows][4]; for(int i=0;i<v.capacity() && k<res.length;i++){ for(int j = 0; j<v.get(i).length;j++){ res[k][0] = v.get(i)[j][0]; res[k][1] = v.get(i)[j][1]; res[k][2] = v.get(i)[j][2]; res[k][3] = v.get(i)[j][3]; k++; } } return res; }
Io voglio semplicemente trovare il numero di righe sommando, il numero di righe di ciascuna matrice contenuta in ogni cella del vector.
Qual'è l'errore?
Ci sto sbattendo la testa da ore ed ore, e non trovo una soluzione.
Grazie.
EDIT: Risolto porca miseria... dovevo usare size() e non capacity() !!!![]()


Rispondi quotando

