Salve ai cervelloni del forum, avrei una domanda che mi preme molto dato che domani ho esame e dovrei giustificarla al meglio.
Io ho il seguente programma:
codice:
//metodo 1
public static void swap( int[] arr1, int[] arr2) {
int [] help;
help = arr1;
arr1 = arr2;
arr2 = help;
}
//metodo 2
public static void swapEl( int[] arr1, int[] arr2) {
int help;
for(int i=0; i<arr1.length; i++) {
help = arr1[i];
arr1[i] = arr2[i];
arr2[i] = help;
}
}
// stampa
public static void stampaArr(int[] arr) {
for( int i=0; i<arr.length; i++)
System.out.println(arr[i]);
System.out.println(“ “);
}
// main
public static void main(String[] args) {
int [] a = { 5,4,3,2,1,0 }; int [] b = {12,11,10,9,8,7};
swap (a,b);
stampaArr(a);
stampaArr(b);
swapEl (a,b);
stampaArr(a);
stampaArr(b);
}
Ora, in teoria il primo metodo non dovrebbe scambiare gli elementi mentre il secondo sì.
Sapete giustificarmi al meglio la risposta? Purtroppo non ho trovato molte info a riguardo.
Vi ringrazio