Java - Ayuda con "Sistema Bancario"

 
Vista:
sin imagen de perfil

Ayuda con "Sistema Bancario"

Publicado por FronTz (1 intervención) el 10/03/2017 20:35:15
Hola amigos, tengo un problema con este codigo, espero y me puedan ayudar, tengo que eliminar la cuenta bancaria de un cliente que este dado de alta.... pero la verdad no se como :,c alguien podria darme una idea de como hacerlo..... esta al final de la tercera clase.... gracias......
=================================Clase 1===================================
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package sistemaBancario;
 
public class CuentaBancaria {
 
	// Propiedades de la Clase. El Estado del Objeto  
	private int cuentaNumero;
	private double cuentaSaldo;
 
	// -------- Constructor de la Clase  ------ //
	public CuentaBancaria(int cuentaNumero, double cuentaSaldo) {
		super();
		this.cuentaNumero = cuentaNumero;
		this.cuentaSaldo = cuentaSaldo;
	}
 
	// -------- Esta zona contiene el Comportamiento de cada Objeto de la Clase  ------ //
	public int getCuentaNumero() {
		return cuentaNumero;
	}
 
	public void setCuentaNumero(int cuentaNumero) {
		this.cuentaNumero = cuentaNumero;
	}
 
	public double getCuentaSaldo() {
		return cuentaSaldo;
	}
 
 
	public void setCuentaSaldo(double cuentaSaldo) {
		this.cuentaSaldo = cuentaSaldo;
	}
 
	@Override
	public String toString() {
		return "CuentaBancaria [cuentaNumero=" + cuentaNumero
				+ ", cuentaSaldo=" + cuentaSaldo + "]";
	}
 
 
	public double retirarDinero(double cantidad) {
 
		if (this.cuentaSaldo - cantidad >= 0) {
			this.cuentaSaldo -= cantidad; // actualizar saldo
			return cantidad;
		}
		else
			return 0;  // No se permite retirar
	}
 
	public double depositarDinero(double cantidad) {
 
		this.cuentaSaldo +=  cantidad;
 
		return cantidad;  // Cantidad depositada
	}
 
} // fin de clase CuentaBancaria


=========================================Clase 2=====================================

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package sistemaBancario;
 
import java.util.Arrays;
 
public class Cliente {
 
	// ---------  Es el Estado del Objeto   ------------ //	
	private final int MAX_CUENTAS_BANCARIAS = 3;
	private int cliclave;
	private String cliNombre;
	CuentaBancaria cuentasBancarias[];
	int numeroDeCuentas;
 
 
 
	public Cliente(int cliclave, String cliNombre) {
		super();
		this.cliclave = cliclave;
		this.cliNombre = cliNombre;
		cuentasBancarias = new CuentaBancaria[MAX_CUENTAS_BANCARIAS];
		numeroDeCuentas = 0;
	}
 
	public int getCliclave() {
		return cliclave;
	}
 
	public void setCliclave(int cliclave) {
		this.cliclave = cliclave;
	}
 
	public String getCliNombre() {
		return cliNombre;
	}
 
	public void setCliNombre(String cliNombre) {
		this.cliNombre = cliNombre;
	}
 
	@Override
	public String toString() {
		return "Cliente: cliclave = " + cliclave + ", cliNombre = " + cliNombre
				+ ", Total Cuentas = [" + numeroDeCuentas + "]"
				+ ", cuentasBancarias=" + Arrays.toString(cuentasBancarias);
 
	}
 
	public boolean altacuentasBancarias(CuentaBancaria objetoCuenta) {
 
		if ( this.numeroDeCuentas == this.cuentasBancarias.length ) {  // arreglo lleno
			return false;
		}
		this.cuentasBancarias[this.numeroDeCuentas++] = objetoCuenta;
		return true;
	}
 
		return null;
	}
 
} // fin de clase Cliente



============================Clase 3(aqui se encuentra mi duda)==========================

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
package sistemaBancario;
 
import java.io.*;
 
public class SistemaBancario {
 
   static final int MAX_TOTAL_CLIENTES = 10;
   static BufferedReader entrada = new BufferedReader( new InputStreamReader(System.in) );
   static Cliente clientes[] = new Cliente[MAX_TOTAL_CLIENTES];
   static int numClientes = 0;
 
   public static void main(String[] args) {
 
		int opcion;
 
 
		 do {
		      opcion = getOpcion();
		      switch (opcion) {
		        case 1: altaCliente(); break;
		        case 2: bajaCliente(); break;
		        case 3: asignarCuentaCliente(); break;
		        case 4: reportarTodosClientes();
			//case 5: depositarDinero(); break;
			//case 6: retirarDinero(); break;
			//case 7: eliminarCuentaBancaria(); break;
		      }
		 } while (opcion != 0);
 
		 System.out.println("\n>> Haz terminado tu sesión en el sistema.");
   } // fin main
 
   public static int getOpcion() {
 
	    int opc;
 
	    do {
	         System.out.println("\n============");
	         System.out.println("=== Main ===\n");
	         System.out.println("0. Salir.");
	         System.out.println("1. Alta en Sistema a Cliente.");
	         System.out.println("2. Baja en Sistema a Cliente.");
	         System.out.println("3. Asignar cuenta  a Cliente.");
	         System.out.println("4. Reportar todos los clientes.");
		   //System.out.println("5. Depositar Dinero de Cuenta Bancaria.");	
		   //System.out.println("6. Retirar Dinero de Cuenta Bancaria.");	
	       //System.out.println("7. Eliminar Cuenta Bancaria de Cliente.");	
	         System.out.print(">> Opcion: ");
	         System.out.flush(); // para enviar a pantalla inmediatamente
	         try {
	             opc = Integer.parseInt(entrada.readLine());
 
	             if ( opc >= 0 && opc <= 4) {
	                return opc;
	             } else {
	                System.out.println("ERROR. Opcion no valida [" + opc + "].");
	             }
	         } catch(IOException ioe) {
	             System.out.println("ERROR: " + ioe.getMessage());;
	         } catch(NumberFormatException nfe) {
	             System.out.println("ERROR: " + nfe.getMessage() + ". No es numérico.");;
	         }
 
	    } while(true);
   } // Fin de getOpcion
 
 
   public static void altaCliente() {
 
	   String nombre = "NULO";
	   int clave = -1;
 
	   System.out.println("\n=== ALTA EN SISTEMA A CLIENTE ===\n");
 
	   if (numClientes < clientes.length) { // mientras haya espacio en clientes
		   try {
			   System.out.println("Nombre del cliente: ");
			   nombre = entrada.readLine();
			   System.out.println("Clave del cliente: ");
			   clave = Integer.parseInt(entrada.readLine());
			   Cliente cliente = new Cliente(clave, nombre);
			   clientes[numClientes] = cliente;
			   numClientes++; // incrementar el número de clientes
			   System.out.println("El cliente " + nombre + " se registró en el sistema.");
		   } catch(IOException ioe) {
	             System.out.println("E/S ERROR: " + ioe.getMessage());;
		   } catch(NumberFormatException nfe) {
	             System.out.println("ERROR de Formato Numérico: " + nfe.getMessage());
	       }
 
	   } else {
		   System.out.println("Arreglo lleno. No hay más lugares para registros.\n");
	   }
   } // fin de altaCliente
 
 
   public static void bajaCliente() {
 
	   int clave;
	   String nombre = "NULO";
 
	   System.out.println("\n=== BAJA EN SISTEMA A CLIENTE ===\n");
 
	   System.out.println("Por medio de la clave se busca al cliente.\n");
	   try {
		   System.out.println("Clave del cliente: ");
		   clave = Integer.parseInt(entrada.readLine());
           int posicionDelCliente = -1;
           for (int i = 0; i < numClientes; i++) { // Validar cliente existe
			  if ( clientes[i].getCliclave() == clave ) {
				  posicionDelCliente = i; // encontrado
				  nombre = clientes[i].getCliNombre();
				  break;
			  }
		   }
           // Eliminar cliente del array
           if (posicionDelCliente != -1) {
        	   for (int i = posicionDelCliente+1; i <= numClientes-1; i++) {
        		   clientes[i-1] = clientes[i];
        	   }
        	   numClientes--; // decrementar el número de clientes
    		   System.out.println("El cliente [" + nombre + "] ha sido eliminado del sistema.");
           } else {
        	   System.out.println("El cliente [" + nombre + " clave = " +clave+ "] no existe. Verifique.");
           }
 
	   } catch(IOException ioe) {
             System.out.println("E/S ERROR: " + ioe.getMessage());;
	   } catch(NumberFormatException nfe) {
             System.out.println("ERROR de Formato Numérico: " + nfe.getMessage());
       }
   } // fin de bajaCliente
 
 
   public static void asignarCuentaCliente() {
 
	   int clave;
	   String nombre = "NULO";
 
	   System.out.println("\n=== ASIGNAR CUENTA A CLIENTE ===\n");
 
	   System.out.println("Por medio de la clave se busca al cliente.\n");
	   try {
		   System.out.println("Clave del cliente: ");
		   clave = Integer.parseInt(entrada.readLine());
           int posicionDelCliente = -1;
           for (int i = 0; i < numClientes; i++) {
        	  if (clientes[i] != null) {
			    if ( clientes[i].getCliclave() == clave ) {
				  posicionDelCliente = i; // encontrado
				  nombre = clientes[i].getCliNombre();
				  break;
			    }
        	  } else
        		  break; // No hay más clientes			    	
		   } // for
 
           // Asignar cuenta a cliente 
           if (posicionDelCliente != -1) {
        	   System.out.println("Número de cuenta: ");
        	   int cuentaNumero = Integer.parseInt(entrada.readLine());
        	   System.out.println("Saldo inicial de la cuenta: ");
        	   double cuentaSaldo = Double.parseDouble(entrada.readLine());
        	   clientes[posicionDelCliente].altacuentasBancarias(new CuentaBancaria(cuentaNumero,cuentaSaldo));
    		   System.out.println("Cliente [" + nombre + "] tiene asignada la cuenta num. [" + cuentaNumero + "]\n");
           } else {
        	   System.out.println("El cliente [" + nombre + " clave = " +clave+ "] no existe. Verifique.");
           }
 
	   } catch(IOException ioe) {
             System.out.println("E/S ERROR: " + ioe.getMessage());;
	   } catch(NumberFormatException nfe) {
             System.out.println("ERROR de Formato Numérico: " + nfe.getMessage());
       }
 
   } // fin de modificarCliente
 
 
   public static void reportarTodosClientes() {
 
	   System.out.println("\n=== REPORTAS TODOS LOS CLIENTES ===\n");
 
	   for (int i = 0; i < numClientes; i++) {
		      System.out.println(clientes[i].toString());
	   }
	   System.out.print("----------------------------------------------------------------");
	   System.out.println("------------------------------------------------------------\n");
   } // fin de reportarTodosClientes
 
 
   public boolean depositarDinero() {
	return false;
 
 
   }
 
   public boolean retirarDinero() {
	return false;
 
 
   }
 
 
   public boolean eliminarCuentaBancaria() throws IOException {
 
	   int cuenta = 0;
 
	   String nombre = "";
	   System.out.println("\n ==== Eliminar Cuenta de Cliente ==== \n");
	   System.out.println("-----Ingrese el nombre del cliente------");
 
	   System.out.println("Nombre:");
	   nombre = entrada.readLine();
 
	   if (nombre!= " ") {
		   for (int i = 0; i < numClientes; i++) {
			   if ( clientes[i].getCliNombre() == nombre) {
				   int  posicionDelCliente = i; //Cliente Encontrado
				   nombre = clientes[i].getCliNombre();
 
				   System.out.println("Ingrese el numero de cuenta a eliminar:");
				   cuenta = Integer.parseInt(entrada.readLine());
				   //ahora buscaremos su cuenta
 
				   //aqui no tengo idea de que hacer......
			}
 
		}
 
	}else{
		System.out.println("Nombre vacio.");
	}
 
 
	return false;
 
   }
 
} // fin de clase SistemaBancario
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 Carlos Grimaldo
Val: 75
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Ayuda con "Sistema Bancario"

Publicado por Carlos Grimaldo (31 intervenciones) el 11/03/2017 14:22:17
Las cadena no se comparan con =, usa equalsIgnoreCase o compareTo

1
2
3
4
5
6
7
8
9
10
11
for (int i = 0; i < numClientes; i++) {
	if ( clientes[i].getCliNombre().equalsIgnoreCase(nombre)==true) {
	   int  posicionDelCliente = i; //Cliente Encontrado
	   nombre = clientes[i].getCliNombre();
 
	   System.out.println("Ingrese el numero de cuenta a eliminar:");
	   cuenta = Integer.parseInt(entrada.readLine());
	   //ahora buscaremos su cuenta
 
	   //aqui no tengo idea de que hacer......
	}

Saludos
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

Ayuda con "Sistema Bancario"

Publicado por Rodrigo (1 intervención) el 25/08/2020 23:49:06
Hola! podrías pasar el Main? desde ya muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar