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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Duda sobre el método get
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre el método get  (Leído 1,848 veces)
reygecko

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Duda sobre el método get
« en: 16 Enero 2013, 23:14 pm »

No consigo que 'get' me devuelva el valor correcto.  Debe ser sencillo, pero no sé qué pasa y me está volviendo loco.

Éste es el código:

Código:
import java.util.*;

public class Orden {

    static class Registro {

        static String texto;
        static int numero;
        static int matriz[][] = new int[2][2];
    }

    public static void main(String[] args) {
        List<Registro> lista = new ArrayList<>();
        Registro registro01 = new Registro();
        Registro registro02 = new Registro();
        Registro registro03 = new Registro();
        Registro test = new Registro();

        // Doy valores al registro 01

        registro01.matriz[0][0] = 1;
        registro01.matriz[0][1] = 1;
        registro01.matriz[1][0] = 1;
        registro01.matriz[0][1] = 1;
        registro01.texto = "registro01";
        registro01.numero = 1;

        // Doy valores al registro 02

        registro02.matriz[0][0] = 2;
        registro02.matriz[0][0] = 2;
        registro02.matriz[0][0] = 2;
        registro02.matriz[0][0] = 2;
        registro02.texto = "registro02";
        registro02.numero = 2;

        // Doy valores al registro 03

        registro03.matriz[0][0] = 3;
        registro03.matriz[0][0] = 3;
        registro03.matriz[0][0] = 3;
        registro03.matriz[0][0] = 3;
        registro03.texto = "registro03";
        registro03.numero = 3;

        //Añado todos los elementos a la lista

        lista.add(registro01);
        lista.add(registro02);
        lista.add(registro03);
       
        test = lista.get(0);
        System.out.println("El primer registro es: " + test.texto);
        test = lista.get(1);
        System.out.println("El segundo registro es: " + test.texto);
        test = lista.get(2);
        System.out.println("El tercer registro es: " + test.texto);

    }
}

Pues la salida que produce es (para mi desesperación  :-() ésta:

Código:
El primer registro es: registro03
El segundo registro es: registro03
El tercer registro es: registro03

¿Alguna sugerencia? Muchas gracias de antemano.


En línea

[Case]


Desconectado Desconectado

Mensajes: 474



Ver Perfil WWW
Re: Duda sobre el método get
« Respuesta #1 en: 16 Enero 2013, 23:33 pm »

Cuando tu declaras una clase o una variable static, le indicas al compilador que solamente debe de exisitir un objeto o una variable. Por lo que en este caso, al modificar la variable, modificas una variable global para todos los objetos de tipo Registro.
Simplemente quitale la declarasion static al principo de las variables de la clase Registro, y funcionara tu codigo.


En línea

reygecko

Desconectado Desconectado

Mensajes: 26



Ver Perfil
Re: Duda sobre el método get
« Respuesta #2 en: 16 Enero 2013, 23:49 pm »

Esto de los modificadores de las variables me vuelve loco...  :rolleyes:

Muchas gracias [Case], de veras. ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda básica con método available()
Java
novalida 2 2,798 Último mensaje 1 Julio 2009, 20:02 pm
por maldillo
Duda con método available()
Java
novalida 3 8,180 Último mensaje 11 Agosto 2009, 16:42 pm
por 1mpuls0
Duda sobre un metodo que devuelva tres valores random « 1 2 »
Java
Dyabel03 12 9,574 Último mensaje 13 Marzo 2011, 07:53 am
por .mokk.
Duda sobre java método generic den explicación
Java
r7pyrred 2 2,087 Último mensaje 9 Febrero 2013, 21:03 pm
por r7pyrred
Consulta sobre llamada a un metodo
Java
kurupi13 2 2,127 Último mensaje 1 Octubre 2013, 21:39 pm
por kurupi13
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines