|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Sep 2006
Messaggi: 44
|
[java] return di metodo
Salve a tutti io in un metodo lavoro con una matrice del tipo String[][] e con una matrice del tipo int[][] come posso far ritornare al metodo entrambe....pensavo a un "contenitore" dove inserirle entrambe e poterle cosi ritornare....
grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7237
|
si dovresti creare un contenitore, cioè un oggetto apposito che contiene tutte e due le matrici
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
potresti usare i generici ... ti crei un metodo + o - cosi ...
Codice:
public <T> T[][] getMatrice(T param){ } |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12093
|
![]() ma perchè tutto ciò? ![]() gli array sono reference type, quindi quando vendono passati ad un metodo gli viene passata la copia del riferimento e quindi qualsiasi modifica effettuata sul contenuto degli array all'interno del metodo si ripercuote sulle matrici originali. Tanto per fare un esempio: Codice:
public class Prova { public Prova() { int[][] matrix = new int[5][5]; String[][] matrixString = new String[5][5]; process(matrix, matrixString); for (int i = 0; i < matrix.length; i++) { for(int j = 0; j < matrix.length; j++) { System.out.print(matrix[i][j] + " "); } System.out.println(); } System.out.println(); for (int i = 0; i < matrixString.length; i++) { for(int j = 0; j < matrixString.length; j++) { System.out.print(matrixString[i][j] + " "); } System.out.println(); } } private void process(int[][] matrix, String[][] matrixString) { for (int i = 0; i < matrix.length; i++) { for(int j = 0; j < matrix.length; j++) { matrix[i][j] = i + j; matrixString[i][j] = String.valueOf(i + j); } } } public static void main(String[] args) { new Prova(); } } Codice:
0 1 2 3 4 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 0 1 2 3 4 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 a che ti serve ritornare due cose se hai già quello che ti serve senza ritornare nulla? ![]()
__________________
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7237
|
in effetti non hai tutti i torti
![]() però se gli array vengono creati dentro il metodo allora io userei un contenitore piuttosto che istanziare l'array fuori dal metodo e modificarlo dentro |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Sep 2006
Messaggi: 44
|
grazie mille ho risolto....
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:05.