
Vectores como atributos
Publicado por Miguel (1 intervención) el 14/07/2015 05:13:27
Hola. ¿Alguien podría echarme una mano con este programa?
Este programa consta de dos clases: la Principal y Operario.
La clase Operario tiene varios atributos, pero el que me ocasiona el problema es el atributo que es vector de enteros.
El programa principal tiene dos objetos de la clase Operario: operario1 y operario2.
El problema consiste en que cuando introduzco datos en el atributo vector tanto de operario1 como de operario2 y a pesar de que ambos vectores tienen diferentes datos, ambos vectores quedan con los datos de operario2.
¿Alguien sabe por qué sucede esto?
---------
Este programa consta de dos clases: la Principal y Operario.
La clase Operario tiene varios atributos, pero el que me ocasiona el problema es el atributo que es vector de enteros.
El programa principal tiene dos objetos de la clase Operario: operario1 y operario2.
El problema consiste en que cuando introduzco datos en el atributo vector tanto de operario1 como de operario2 y a pesar de que ambos vectores tienen diferentes datos, ambos vectores quedan con los datos de operario2.
¿Alguien sabe por qué sucede esto?
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
package paqueteFabrica;
public class Principal {
public static void main(String[] args) {
Operario operario1 = new Operario();
Operario operario2 = new Operario();
int i = 0;
int vec[] = new int[2];
operario1.setNombre("Pedro");
vec[0] = 34;
vec[1] = 53;
operario1.setNumContacto(vec);
operario2.setNombre("Luis");
vec[0] = 1;
vec[1] = 4;
operario2.setNumContacto(vec);
System.out.println("VERIFICAR GUARDADO... Operario 2");
operario2.getNumContacto();
System.out.println("Y que pasó con Operario 1?");
operario1.getNumContacto();
}
}
---------
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
33
package paqueteFabrica;
public class Operario {
private String nombre;
private int numContacto[];
public Operario() {
this.nombre = "";
this.numContacto = new int[2];
}
public int[] getNumContacto() {
System.out.print("GET " + nombre.toUpperCase()+": ");
System.out.println(numContacto[0]+" "+numContacto[1]);
return numContacto;
}
public void setNumContacto(int[] numContacto) {
System.out.print("SET " + nombre.toUpperCase()+": ");
System.out.println(numContacto[0]+" "+numContacto[1]);
this.numContacto = numContacto;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
}
Valora esta pregunta


0