Título: Ayuda con programa Banco y Cuentas Publicado por: pepeneitor33 en 23 Marzo 2013, 11:48 am Tengo que hacer un programa de Bancos y Cuentas, la Clase Cuenta la hice asi
Código y la clase Banco asi Código
el caso es que llevo horas y horas y siempre me da el error : Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 el ejercicio decia lo siguiente El objetivo de esta práctica es el de crear clases para representar bancos y cuentas bancarias. Defínase una clase Cuentade cuentas bancarias. Toda cuenta bancaria vendrá dada por un número de cuenta (de tipo int), un titular de la cuenta bancaria (de tipo String) y un saldo (de tipo double). Sobre una cuenta bancaria se podrán realizar operaciones de ingreso (añadirdinero a la cuenta) y de débito (extraer una cantidad de dinero de la misma, no importando que el saldo quede negativo), además de operaciones de consulta del número de la cuenta, su titular y saldo. Defínase una clase Bancopara representar bancos. Un banco tendrá un nombre (dado en el constructor) y dispondrá de una colección de cuentas bancarias (representadas en un array de cuentas). Además, la clase Bancocontendrá las variables de instancia pply uncaque representan respectivamente la primeraposición libre en el array de cuentas (están en posiciones contiguas) y el primer número de cuenta libre, de forma que una vez asignado el número a una nueva cuenta este contador se debe incrementar. El valor inicial de uncaserá el de la constante NUMCTALIBRE (1001) La clase Banco debe proporcionar métodos para llevar a cabo operacionesde ingreso, de débito o de consulta de saldo sobre cualquiera de sus cuentas dado su número de cuenta, así como una operación de transferencia entre dos cuentas bancarias indicando los números de cuenta de la cuenta origen y de la cuenta destino y la cantidad a transferir. Los métodos abrirCuentay cerrarCuentase encargarán de crear una nueva cuenta bancaria y de cerrar una existente. Para abrir una cuenta bancaria bastará con proporcionar el nombre del titular de la cuenta (suponemos un único titular por cuenta), si no se indica saldo inicial la cuenta se creará con saldo cero. El banco se encargaráde asignar un número de cuentaa la nueva cuenta, que será devuelto como resultado de la operación. A la hora de cerrar una cuenta existente, después de su 2 supresión las cuentas restantes habrán de ocupar posiciones contiguas en el array de cuentas. Algunas cuestiones: • Los constructores de la clase Banco se encargarán de crear el array de cuentas con un tamaño inicial, así como de dar valores iniciales a las variables auxiliares. El segundo argumento del constructor de Banco con dos argumentos indica el tamaño inicial del array de cuentas. En el constructor con un argumento el array se inicializará con un tamaño por defecto (10definido en la constante NCTAS). • La creación de cuentas no debe fallar porque el array esté lleno; en caso de no quedar espacio enel array se creará un array (de doble capacidad)para habilitar más espacio. • Un banco no permite que una cuenta quede con saldo negativo. Si se intenta realizar un débito por una cantidad mayor que el saldo, solo se permitirá extraer el saldo. En ese caso, el saldo quedará a 0 y se devolverá el dinero que realmente se ha extraído de la cuenta. • Para facilitar la implementación de algunos métodos se debe implementar un método llamado posicionCuenta. Éstees un método auxiliar que devuelve la posición dentrodel array de cuentas en la que se encuentra la cuenta con el número de cuenta dadocomo argumento.Si la cuenta no existe, el método debe lanzar una excepción RuntimeException de la siguiente manera: throw new RuntimeException(“No existe la cuenta dada”); • Se debe proporcionar una redefinición del método toStringpara las clases CuentayBanco Al ejecutar la siguiente clase de prueba TestBanco, el resultado ha de ser el mostrado más abajo. Me podeis ayudar muchas gracias de antemano Título: Re: Ayuda con programa Banco y Cuentas Publicado por: javituni en 16 Abril 2013, 01:01 am has creado dos constructores para la clase cuenta?
|