Java - Duda Objetos y Arrays

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Duda Objetos y Arrays

Publicado por Gendetta (3 intervenciones) el 30/04/2020 00:21:09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public void CrearCompte() {
 
    Compte comptes[] = new Compte[3];
    Compte compte1 = new Compte();
    Compte compte2 = new Compte();
    Compte compte3 = new Compte();
 
 
    for (int i = 0; i < comptes.length; i++) {
        if(comptes[i] == comptes[0]) {
           comptes[i] = compte1;
        }
        else if(comptes[i] == comptes[1]) {
               comptes[i] = compte2;
        }
        else if(comptes[i] == comptes[2]) {
               comptes[i] = compte3;
        }
 
        System.out.println("El teu nom: ");
        comptes[i].setNombre(teclat.next());
 
        System.out.println("Numero compte: ");
        comptes[i].setNumeroCompte(teclat.nextInt());
 
        System.out.println("El teu saldo: ");
        comptes[i].setSaldo(teclat.nextDouble());
        Menu();
 
    }
 
}


Me gustaria saber cómo podría ir guardando en una posicion más en el Array, cada vez que pida los datos.
Al pedir los datos "nom" "NumeroCompte" y "Saldo" por segunda vez, se me sobreescribe en la primera, y no soy capaz de arreglarlo, alguna sugerencia? gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Duda Objetos y Arrays

Publicado por Billy Joel (786 intervenciones) el 30/04/2020 00:45:59
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public void CrearCompte() {
 
    Compte[] comptes = new Compte[3];
    Compte compte1 = new Compte();
    Compte compte2 = new Compte();
    Compte compte3 = new Compte();
 
    for (int i = 0; i < comptes.length; i++) {
        if (comptes[i] == comptes[0]) {
            comptes[i] = compte1;
        } else if (comptes[i] == comptes[1]) {
            comptes[i] = compte2;
        } else if (comptes[i] == comptes[2]) {
            comptes[i] = compte3;
        }
 
        System.out.println("El teu nom: ");
        comptes[i].setNombre(teclat.next());
 
        System.out.println("Numero compte: ");
        comptes[i].setNumeroCompte(teclat.nextInt());
 
        System.out.println("El teu saldo: ");
        comptes[i].setSaldo(teclat.nextDouble());
        Menu();
    }
}

En Java los objetos pasan por referencia, entonces en la línea que he sombreado hace que todos los objetos sean el mismo. Ya así lo que sea que le hagas a uno se lo haces a todos.

Sería bueno saber que es lo que quieres hacer para darte luces.

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Duda Objetos y Arrays

Publicado por Gendetta (3 intervenciones) el 30/04/2020 01:07:41
Una especie de cajero automático, donde puedas registrarte con tu nombre, tu numero de cuenta y tu saldo y operar con tu saldo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Duda Objetos y Arrays

Publicado por Billy Joel (786 intervenciones) el 30/04/2020 01:46:50
Pues lo que veo en el código que has compartido estás tratando de llenar datos a los objetos.
De repente este enfoque puede ayudar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public void CrearCompte() {
    Compte[] comptes = new Compte[3];
    for (int i = 0; i < comptes.length; i++) {
        competes[i] = new Compete();
        System.out.println("El teu nom: ");
        comptes[i].setNombre(teclat.next());
 
        System.out.println("Numero compte: ");
        comptes[i].setNumeroCompte(teclat.nextInt());
 
        System.out.println("El teu saldo: ");
        comptes[i].setSaldo(teclat.nextDouble());
    }
 
    if (comptes[i] == comptes[0]) {
        comptes[i] = compte1;
    } else if (comptes[i] == comptes[1]) {
        comptes[i] = compte2;
    } else if (comptes[i] == comptes[2]) {
        comptes[i] = compte3;
    }
    Menu();
}

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 5
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Duda Objetos y Arrays

Publicado por Gendetta (3 intervenciones) el 30/04/2020 01:08:41
Una especie de cajero automático, donde puedas registrarte con tu nombre, tu numero de cuenta y tu saldo y operar con tu saldo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar