Tema: Duda java
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/06/2009, 13:37
El_Arturo
 
Fecha de Ingreso: diciembre-2006
Mensajes: 18
Antigüedad: 17 años, 4 meses
Puntos: 0
Duda java

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!