Tengo una duda un tanto complicada... tengo una funcion recursiva que es la siguiente:
Código:
public void ref(int pos){
int aux[];
int N = pixels.length;
if(2*pos<N){
aux = pixels[N-pos-1];
pixels[N-pos-1] = pixels[pos];
pixels[pos] = aux;
ref(pos+1);
}
}
La cual hay q implementarla pero sin recursividad osea de forma iterativa la cual deje asi:
Código:
public void ref2(int pos){
int aux[];
int N = pixels.length;
for(int i=0;N>2*pos;i++){
aux = pixels[N-pos-1];
pixels[N-pos-1] = pixels[pos];
pixels[pos] = aux;
pos++;
}
Que por logica deberian hacer lo mismo... pero mi duda en verdad es la siguiente... para ver que es lo q hacia el metodo le puse unos println despues de las variables para ver como se comportaban y mi sorpresa fue cuando vi por pantalla lo siguiente:
El valor de pos es:0
El valor de N es:2
El valor de pixels[N-pos-1] es:[Iarroba1888759
El valor de aux es:[Iarroba1888759
El valor de pixels[pos] es:[Iarrobae53108
El valor de pixels[N-pos-1] es:[Iarrobae53108
El valor de aux es:[Iarroba1888759
El valor de pos es:[Iarroba1888759
Lo mas curioso es que esos [Iarroba cambian cada vez que uno ejecuta el programa nuevamente asi que en verdad no se a q corresponden. De verdad estoy muy perdido ojala me entiendan y me puedan ayudar
Salu2!