elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ayuda para entender la rta de este ejercicio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda para entender la rta de este ejercicio  (Leído 1,735 veces)
JuanLopezla

Desconectado Desconectado

Mensajes: 2


Ver Perfil
ayuda para entender la rta de este ejercicio
« en: 1 Agosto 2012, 16:18 pm »

En un final me tomaron este ejercicio, con respuestas multiplechoise:

public class A {
static int x[]={1,2};
int y[];

public void f(int z[]){
z[1]+=2;
}

void g(){
A a = new A();
a.x[0]++;
}

}


public static void main(String[] args) {
        A b = new A();
        b.y=b.x;
        b.f(b.y);
        b.g();
        System.out.println(b.x[0] +""+b.x[1]);
        System.out.println(b.y[0] +""+b.y[1]);

    }

Rtas para el primer println:  1 2  / 1 4  / 2 2  / 2 4
Rtas para el segundo println:  1 2  / 1 4  / 2 2  / 2 4

Yo elegi para el primero 2 2 , y para el segundo 1 4 ... pero la respuesta correcta era 2 4 en los dos casos. No logro entender porque es asi, por favor necesito que alguien me aclare el ejercicio. Desde ya muchas gracias.


En línea

ChavalChavito

Desconectado Desconectado

Mensajes: 43


Y ahora que pasa...


Ver Perfil
Re: ayuda para entender la rta de este ejercicio
« Respuesta #1 en: 1 Agosto 2012, 20:14 pm »

Código:
A b = new()A;

 instancia la clase A y la variable b hace referencia a la misma
Código:
b.y=b.x; 

x[] es una variable d referencia y apunta a una direccion en memoria dond esta el vector {1,2}.. y[] tb es d referencia entnces lo q hago es asignarle la direccion d memoria q apunta x a y.. y los dos qedan apuntando al vector {1,2}
Código:
b.f(b.y);

este método hace que el vector valga {1,4}
Código:
b.g();
este método hace que el vector valga {2,4}


En línea

JuanLopezla

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: ayuda para entender la rta de este ejercicio
« Respuesta #2 en: 1 Agosto 2012, 22:06 pm »

ahhh esta, no entendia bien que "x" e "y" guardaban los mismos valores, osea al modificar "y" se modifica "x" tambien. Genial! Muchas gracias, saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda, Ejercicio para examen!
Programación C/C++
edu__87 1 1,973 Último mensaje 15 Febrero 2013, 19:43 pm
por durasno
(Consulta) Ejercicio en C - Errores que no logro entender.
Programación C/C++
palacio29 2 1,958 Último mensaje 21 Agosto 2016, 19:04 pm
por palacio29
Ayuda a entender este código
Programación C/C++
Bastiannjs 1 2,079 Último mensaje 7 Septiembre 2017, 20:11 pm
por ivancea96
ayuda para cambiar este ejercicio
Programación C/C++
mattray10 1 2,319 Último mensaje 3 Marzo 2021, 00:22 am
por K-YreX
Alguien me ayuda con este ejercicio para programar en C? No se ni cómo empezarlo.
Programación C/C++
xSyrax122 1 2,094 Último mensaje 24 Agosto 2021, 04:10 am
por Danielㅤ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines