Arreglo de Objetos en Java
Arreglo de Objetos en Java
Arreglo de Objetos en Java
1
clase nombreArreglo[] = new clase [numeroElementos];
package arrobj;
2 import java.math.BigInteger;
3
4 public class userBanc {
5 private int cod;
6 private BigInteger telefono;
7 private String nombre, apellido;
8 private Double saldo;
9
10 /**
11 * @return the cod
12 */
13 public int getCod() {
14 return cod;
15 }
16
17 /**
* @param cod the cod to set
18
*/
19 public void setCod(int cod) {
20 this.cod = cod;
21 }
22
23
24 /**
25 * @return the nombre
26 */
27 public String getNombre() {
28 return nombre;
29 }
30
31 /**
32 * @param nombre the nombre to set
33 */
34 public void setNombre(String nombre) {
35 this.nombre = nombre;
36 }
37
38 /**
* @return the apellido
39
*/
40 public String getApellido() {
41 return apellido;
42 }
43
44 /**
45 * @param apellido the apellido to set
46 */
47 public void setApellido(String apellido) {
48 this.apellido = apellido;
49 }
50
51 /**
52 * @return the saldo
53 */
54 public Double getSaldo() {
55 return saldo;
56 }
57
58 /**
* @param saldo the saldo to set
59
*/
60 public void setSaldo(Double saldo) {
61 this.saldo = saldo;
62 }
63
64 /**
65 * @return the telefono
66 */
67 public BigInteger getTelefono() {
68 return telefono;
69 }
70
71 /**
72 * @param telefono the telefono to set
73 */
74 public void setTelefono(BigInteger telefono) {
75 this.telefono = telefono;
76 }
77
78 }
79
80
81
82
Ahora la clase principal, en la cual estará el menú con las operaciones
que se pueden realizar con este tipo de arreglos:
1 package arrobj;
2
3 import java.math.BigInteger;
import javax.swing.JOptionPane;
4
5
public class ArrObj {
6
7
int contUser=0, cod=1; //variable llevar control usuarios ingresados
8
userBanc usuario [] = new userBanc[5]; //creando el arreglo de objetos (clase userBanc)
9
10
public ArrObj(){ //constructor de la clase ArrObj
11
12
String ax;
13
int op=0;
14
15
do{
16
ax = JOptionPane.showInputDialog(null, "1. Ingresar n"
17 +"2. Mostrarn"
18 +"3. Buscarn"
19 +"4. Eliminarn"
20 +"5. Salir");
21 if(ax!=null && !ax.equals("")){
22 op = Integer.parseInt(ax);
23
24 switch(op){
25 case 1:
26 ingresar();
27 break;
28 case 2:
29 mostrar();
30 break;
31 case 3:
32 buscar();
33 break;
34 case 4:
35 eliminar();
break;
36
case 5:
37 break;
38 default:
39 JOptionPane.showMessageDialog(null, "No es una opción valida!!!");
40 }
41 }
42
43 }while(op!=5);
44 }
45
46 public void ingresar(){
47
48 BigInteger telefono;
49 String nombre, apellido;
50 Double saldo;
51
52 nombre = JOptionPane.showInputDialog(null, "Ingrese el Nombre del usuario: ");
53 apellido = JOptionPane.showInputDialog(null, "Ingrese el Apellido del usuario: ");
54 telefono = new BigInteger(JOptionPane.showInputDialog(null, "Ingrese el Telefono del
55 Usuario: ")) ;
56 saldo = Double.parseDouble(JOptionPane.showInputDialog(null, "Ingrese el Saldo inicial
57 del Usuario: "));
58
59 userBanc temp = new userBanc();
60
61 temp.setCod(cod);
62 temp.setNombre(nombre);
63 temp.setApellido(apellido);
64 temp.setTelefono(telefono);
65 temp.setSaldo(saldo);
66
67 usuario[contUser] = temp;
68 contUser++;
69 cod++;
70 }
71
72 public void mostrar(){
73
74 String ay="";
75
76 for(int i=0; i<contUser; i++){
77 ay+="Codigo: "+usuario[i].getCod()+"n"
78 + "Nombre: "+usuario[i].getNombre()+"n"
79 + "Apellido: "+usuario[i].getApellido()+"n"
80 + "Telefono: "+usuario[i].getTelefono()+"n"
81 + "Saldo: "+usuario[i].getSaldo()+"nn";
82 }
83 JOptionPane.showMessageDialog(null, ay);
84 }
85
86 public void buscar(){
87
88 String ax;
89 int c;
90
91 ax = JOptionPane.showInputDialog(null, "Digite el codigo a buscar");
92 if(ax!=null && !ax.equals("")){
93 c = Integer.parseInt(ax); ax="";
94 if(contUser!=0){
95 for(int i=0; i<contUser; i++){
96 if(usuario[i].getCod() == c){
97 ax="";
98 ax+="Codigo: "+usuario[i].getCod()+"n"
99 + "Nombre: "+usuario[i].getNombre()+"n"
100 + "Apellido: "+usuario[i].getApellido()+"n"
101 + "Telefono: "+usuario[i].getTelefono()+"n"
102 + "Saldo: "+usuario[i].getSaldo()+"n";
103 break;
104 }
105 else{
106 ax="No se ha encontrado el usuario :(";
}
107
}
108
109 JOptionPane.showMessageDialog(null, ax);
110 }
111
112 }
113 }
114
115 public void eliminar(){
116 int c;
117 userBanc alumTemp[] = new userBanc[contUser-1];//creando un arreglo temporal
118 con un campo menos
119
120 c = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite el
121 codigo del estudiante a eliminar: "));//pidiendo el codigo a eliminar
122 if( c <=contUser ){ //si el codigo a eliminar es menor o igual al
contador de estudiantes
123
124
for(int i=0; i<contUser; i++){ //Inicio ciclo para realizar
125
la eliminacion
126
if(c == usuario[i].getCod()){ //si el codigo a
127 aliminar coincide con el codigo que hay en la posicion i
128 continue; //continua con el ciclo
129 }
130 else{
131 if(usuario[i].getCod() < c)
132 alumTemp[i] = usuario[i];//si esl
133 codigo es menor se almacena tal cual
134 if(usuario[i].getCod() > c){
135 usuario[i].setCod(i);//si el codigo es
136 mayor se le resta para que quede en consecutivo
137 alumTemp[i-1] = usuario[i]; //se
138 almacena con el nuevo codigo
139 }
140 }
141 } //Fin ciclo para realizar la eliminacion
142 usuario=null; cod--; contUser--; //se hacen las
modificaciones para los nuevos valores
143
usuario = new userBanc[5]; //se vuelve a crear el
144
arreglo
145
for(int i=0; i<alumTemp.length; i++){ //se almacenan los
146 valores no eliminados
147 usuario[i]=alumTemp[i];
148 }
149 }
150 else
JOptionPane.showMessageDialog(null, "El estudiante a eliminar
no existe !!!");
}