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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Errores con simulador de banco en Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Errores con simulador de banco en Java  (Leído 1,868 veces)
elkpo32

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Errores con simulador de banco en Java
« en: 4 Noviembre 2015, 13:12 pm »

Hola, necesito ayuda con un proyecto, cuenado pongo una de las cuentas pre definidas siempre queda en -1 nunca pasa al else, y cuando después del if else pongo un Do While tengo error en las llaves
Alguien puede ayudarme?
Gracias


Código
  1. package proyecto;
  2. import java.util.*;
  3.  
  4. public class hola {
  5.  
  6. public static void main(String[] args) {
  7.   Scanner input= new Scanner (System.in);
  8.   System.out.println("              ---------------------------------------");
  9.   System.out.println("              --      Bienvenido al cajero         --");
  10.   System.out.println("              ---------------------------------------");
  11.   System.out.println("Ingrese numero de cuenta ");
  12.  
  13. int num_cuenta= input.nextInt();
  14.  
  15. int[] numero_de_cuenta={345,783,905,782,103,567,289};
  16. int []monto={500,3456,9000,876,987,453,788888};
  17.  
  18. int posicion=-1;
  19. for(int i=0;i<numero_de_cuenta.length;i++){
  20. if(num_cuenta==numero_de_cuenta[i]){
  21.  
  22. posicion=i;
  23. }
  24. }
  25.  
  26. if(posicion==-1){
  27. System.out.println("la cuenta no existe");
  28. }else{
  29. int op = 5;
  30. do{
  31.  
  32. System.out.println("1- Debitar en la cuenta");
  33. System.out.println("2- Acreditaren la cuenta");
  34. System.out.println("3- Transferir a otra cuenta");
  35. System.out.println("4- Ver saldo");
  36. System.out.println("5- Salir");
  37. System.out.println("Ingrese una opcion ");
  38. int opp= input.nextInt();
  39. switch(opp){
  40. case 1:
  41. break;
  42. case 2:
  43. System.out.println("Ingrese cantidad a acreditar ");
  44. int balance=input.nextInt();
  45.  
  46. break;
  47. case 3:
  48. break;
  49. case 4:
  50.   if(num_cuenta==345){
  51.   System.out.println("Su saldo es de $"+monto[0]);
  52.   }else{
  53.   if(num_cuenta==783){
  54.   System.out.println("Su saldo es de $"+monto[1]);
  55.   }else{
  56.   if(num_cuenta==905){
  57.   System.out.println("Sus saldo es de $"+monto[2]);
  58.   }else{
  59.   if(num_cuenta==782){
  60.   System.out.println("Sus saldo es de $"+monto[3]);
  61.   }else{
  62.   if(num_cuenta==103){
  63.   System.out.println("Sus saldo es de $"+monto[4]);
  64.   }else{
  65.   if(num_cuenta==567){
  66.   System.out.println("Sus saldo es de $"+monto[5]);
  67.   }else{
  68.   if(num_cuenta==289){
  69.   System.out.println("Sus saldo es de $"+monto[6]);
  70.  
  71.  
  72.   }
  73.  
  74.   }
  75.   }
  76.  
  77.   }
  78.   }
  79.   }
  80.   }
  81. break;
  82.  
  83. case 5:
  84. System.out.println("Salió");
  85. break;
  86. default:
  87. System.out.println("El numero no es valido");
  88. break;
  89.  
  90. }
  91.  
  92. }while(op!=5);
  93.  
  94. }
  95. }
  96.  
  97. }
  98.  
  99.  
  100.  
  101.  
  102.  


« Última modificación: 6 Noviembre 2015, 19:12 pm por elkpo32 » En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Errores con simulador de banco en Java
« Respuesta #1 en: 4 Noviembre 2015, 21:08 pm »

Hola elkpo32, creo (a simple vista) que en el if del for que usas para ver si el número de cuenta existe tienes un error ya que:
Código
  1. for(int i=0;i<numero_de_cuenta.length;i++){
  2.       if(posicion==numero_de_cuenta[i]){ // ¿La comparación no sería cuenta == numero_de_cuenta[i]?
  3.            posicion=i;
  4. }
Si te fijas el comentario que he puesto en el código, tú le pides al usuario la cuenta sobre la que quiere trabajar, pero es lógico que si no comparas lo que ingresa el usuario con las cuentas que tienes, sino que comparas otra cosa, entonces no funcionará ya que posición nuca cambiará de -1.

Un saludo.


En línea

Regístrate en
elkpo32

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: Errores con simulador de banco en Java
« Respuesta #2 en: 6 Noviembre 2015, 18:33 pm »

Hola elkpo32, creo (a simple vista) que en el if del for que usas para ver si el número de cuenta existe tienes un error ya que:
Código
  1. for(int i=0;i<numero_de_cuenta.length;i++){
  2.       if(posicion==numero_de_cuenta[i]){ // ¿La comparación no sería cuenta == numero_de_cuenta[i]?
  3.            posicion=i;
  4. }
Si te fijas el comentario que he puesto en el código, tú le pides al usuario la cuenta sobre la que quiere trabajar, pero es lógico que si no comparas lo que ingresa el usuario con las cuentas que tienes, sino que comparas otra cosa, entonces no funcionará ya que posición nuca cambiará de -1.

Un saludo.
Ohhhhhhhh que error mas tonto, muchas gracias :D
Sí estoy en la centa 345 que contiene 500 como le puedo sumar o restar valor?
Gracias
En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Errores con simulador de banco en Java
« Respuesta #3 en: 9 Noviembre 2015, 00:48 am »

Sabiendo en que índice de la cuenta bancaria es x debería corresponder al índice del monto, digamos que el indice 1 del monto coincide con la cuenta 345, pero esto no es muy eficiente, Lo más lógico sería crearte otra clase que fuese CuentaBancaria, y que albergase atributos como el número de cuenta, los titulares, el monto que hay en la cuenta, y métodos para manejar dichos atributos. Y luego de eso en el main utiizarías un array de objetos del tipo CuentaBancaria.

Un saludo y sobre todo un consejo, cuanto más te comas el coco(aquí en españa es pensar mucho las cosas) más aprenderás.

« Última modificación: 9 Noviembre 2015, 01:00 am por avesudra » En línea

Regístrate en
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines