Está en la página 1de 13

import java.util.

ArrayList;

import java.util.Scanner;

public class Banco

private String nombreBanco;

private String direccion;

private String usuario;

private String contraseña;

private int monto;

protected double saldo;

Scanner sc=new Scanner(System.in);

Gerente gerente=new Gerente("Rodrigo","carnet",10000.0,1);

AutenticacionUtil util=new AutenticacionUtil();

Administrador administrador=new Administrador("Rafael","carnet",5000.0,2,util);

public ArrayList <Cliente> listaClientes=new ArrayList<>();

public ArrayList <Contador> listaContadores=new ArrayList<>();

public ArrayList <CuentaAhorros> listaCuentasAhoros=new ArrayList<>();

public ArrayList <CuentaCorriente> listaCuentasCorr=new ArrayList<>();

public Banco(String nombreBanco, String direccion)

this.nombreBanco=nombreBanco;

this.direccion=direccion;

public void Menu(){

System.out.println("Iniciando Sesion");

System.out.println("Usuario: ");

Scanner in=new Scanner(System.in);

Scanner in2=new Scanner(System.in);

String usuarioo=in.nextLine();

System.out.println("contraseña: ");
String contraseña=in2.nextLine();

if(usuarioo.equals("gerente")){

gerente.mostrarGerente();

}else if(usuarioo.equals("administrador")){

menuAdmin();

}else if(validar(usuarioo,contraseña)){

int id =buscarCliente(usuarioo);

listaClientes.get(id).mostrarCliente();

menuCliente(id);

public void menuAdmin(){

System.out.println("Menu del Administrador");

System.out.println("[1] Registrar Cliente");

System.out.println("[2] Registrar Contador");

System.out.println("[3] Registrar Cuenta");

System.out.println("[4] Salir");

int opcion=sc.nextInt();

if(opcion==1){

registrarCliente();

}else if(opcion==2){

registrarContador();

}else if(opcion==3){

menuCuentas();

}else if(opcion==4){

menuPrincipal();

}else{

System.out.println("opcion no disponible");
menuPrincipal();

public void menuPrincipal(){

System.out.println("Bienvenido al Banco "+nombreBanco);

System.out.println(" ");

System.out.println("Iniciar secion como: ");

System.out.println("[1] Administrador");

System.out.println("[2] Cliente");

int opcion=sc.nextInt();

if(opcion==1){

Menu();

}else if(opcion==2){

Menu();

}else{

System.out.println("opcion no disponible");

menuPrincipal();

public void menuCliente(int id){

System.out.println("Menu del Cliente");

System.out.println("");

listaClientes.get(id).mostrarCliente();

System.out.println("");

System.out.println("Selecionar tipo de cuenta");

System.out.println("[1] Cuenta Corriente");

System.out.println("[2] Cuenta Ahorros");


int opcion=sc.nextInt();

if(opcion==1){

menuCuentaCorriente(id);

}else if(opcion==2){

menuCuentaAhorros(id);

}else{

System.out.println("opcion no disponible");

menuPrincipal();

public void menuCuentaCorriente(int id){

System.out.println("Cuenta Corriente");

listaClientes.get(id).mostrarCliente();

System.out.println("[1] Consultar Saldo");

System.out.println("[2] Retirar");

System.out.println("[3] Depositar");

System.out.println("[4] Transferir");

System.out.println("[5] Salir ");

int opcion=sc.nextInt();

if(opcion==1){

//ConsultarSaldo();

System.out.println("Saldo: "+saldo);

menuCuentaCorriente(id);

}else if(opcion==2){

//Retirar();

System.out.println("Ingrese el monto a retirar: ");

monto=sc.nextInt();

if(monto> saldo){
System.out.println("Fondos insuficientes");

}else{

saldo=saldo-monto;

System.out.println("retiro exitoso");

menuCuentaCorriente(id);

}else if(opcion==3){

//Depositar();

System.out.println("Ingrese el monto a depositar: ");

monto=sc.nextInt();

saldo=saldo+monto;

menuCuentaCorriente(id);

}else if(opcion==4){

//Tranferisi();

}else if(opcion==5){

menuPrincipal();

}else{

System.out.println("opcion no disponible");

menuPrincipal();

public void menuCuentaAhorros(int id){

System.out.println("Cuenta Ahorros");

listaClientes.get(id).mostrarCliente();

System.out.println("[1] Consultar Saldo");

System.out.println("[2] Retirar");

System.out.println("[3] Depositar");

System.out.println("[4] Transferir");

System.out.println("[5] Salir ");


int opcion=sc.nextInt();

if(opcion==1){

int idCuent=0;

//idCuent=buscarCuentaA(listaClientes.get(id).getNombre());

//listaCuentasAhoros.get(idCuent).getSaldo();

System.out.println("Saldo: "+saldo);

menuCuentaAhorros(id);

System.out.println(listaCuentasAhoros.get(0).getSaldo());

}else if(opcion==2){

//Retirar();

System.out.println("Ingrese el monto a retirar: ");

monto=sc.nextInt();

if(monto> saldo){

System.out.println("Fondos insuficientes");

}else{

saldo=saldo-monto;

System.out.println("retiro exitoso");

menuCuentaAhorros(id);

}else if(opcion==3){

//Depositar();

System.out.println("Ingrese el monto a depositar: ");

monto=sc.nextInt();

saldo=saldo+monto;

menuCuentaAhorros(id);

}else if(opcion==4){

//Transferir();

System.out.println("ingrese la contraseña de la cuenta a transferir");

contraseña=sc.nextLine();
}else if(opcion==5){

menuPrincipal();

}else{

System.out.println("opcion no disponible");

menuPrincipal();

/*public void iniciarBanco(){

Menu();

int opcion;

opcion=sc.nextInt();

switch(opcion){

case 1:

break;

case 2:

break;

case 3:

break;

case 4:

break;

default:

System.out.println("Opción inválida. Inténtalo de nuevo.");

iniciarBanco();

break;

}*/

public void registrarCliente(){

System.out.println("Registrando Cliente");

System.out.println(" ");
Scanner scaner=new Scanner(System.in);

System.out.println("Nombre:");

String nombre=scaner.nextLine();

System.out.println("Documento: ");

String documento=scaner.nextLine();

System.out.println("Telefono:");

String telefono=scaner.nextLine();

System.out.println("contraseña:");

String contraseña=scaner.nextLine();

AutenticacionUtil utilCliente=new AutenticacionUtil(contraseña);

Cliente clientee = new Cliente(nombre, documento, telefono, utilCliente);

listaClientes.add(clientee);

System.out.println("Cliente Registrado");

menuAdmin();

public void registrarContador(){

//String nombre,String documento,double salario ,int tipo

System.out.println("Registrando Contador");

System.out.println(" ");

Scanner scaner=new Scanner(System.in);

System.out.println("Nombre:");

String nombre=scaner.nextLine();

System.out.println("Documento: ");

String documento=scaner.nextLine();
System.out.println("salario:");

double salario = scaner.nextDouble();

System.out.println("tipo:");

int tipo=scaner.nextInt();

Contador contador = new Contador(nombre, documento, salario, tipo);

listaContadores.add(contador);

System.out.println("Contador Registrado");

menuAdmin();

public void menuCuentas(){

System.out.println("Tipo de Cuenta");

System.out.println("[1] Cuenta Ahorro");

System.out.println("[2] Cuenta Corriente");

int opcion=sc.nextInt();

if(opcion==1){

regCuentaAhorro();

}else if(opcion==2){

regCuentaCorriente();

}else{

System.out.println("opcion no disponible");

menuPrincipal();

public void regCuentaAhorro(){


System.out.println("Registrando Cuenta de Ahorro");

System.out.println(" ");

//Cliente titular,double saldoInicial, int agencia,int numero, int total

Scanner scaner=new Scanner(System.in);

System.out.println("Titular:");

String nombre=scaner.nextLine();

int id=buscarCliente(nombre);

//System.out.println("Saldo Inicial: ");

//double saldo=scaner.nextDouble();

//saldo=saldo;

System.out.println("Agencia:");

int agencia = scaner.nextInt();

System.out.println("Numero:");

int numero=scaner.nextInt();

System.out.println("Total:");

int total=scaner.nextInt();

CuentaAhorros cuentaA = new CuentaAhorros(listaClientes.get(id),saldo, agencia, numero,


total);

listaCuentasAhoros.add(cuentaA);

System.out.println("Cuenta Registrada al titular: "+listaClientes.get(id).getNombre());

menuAdmin();

public void regCuentaCorriente(){

System.out.println("Registrando Cuenta de Corriente");


System.out.println(" ");

//Cliente titular,double saldoInicial, int agencia,int numero, int total

Scanner scaner=new Scanner(System.in);

System.out.println("Titular:");

String nombre=scaner.nextLine();

int id=buscarCliente(nombre);

//System.out.println("Saldo Inicial: ");

//double saldo=scaner.nextDouble();

//saldo=saldo;

System.out.println("Agencia:");

int agencia = scaner.nextInt();

System.out.println("Numero:");

int numero=scaner.nextInt();

System.out.println("Total:");

int total=scaner.nextInt();

CuentaCorriente cuentaC = new CuentaCorriente(listaClientes.get(id), saldo, agencia,


numero, total);

listaCuentasCorr.add(cuentaC);

System.out.println("Cuenta Registrada al titular: "+listaClientes.get(id).getNombre());

menuAdmin();

public int buscarCliente(String nom){

int id=-1;

for(int i = 0; i < listaClientes.size(); i++){

if(listaClientes.get(i).getNombre().equals(nom)){
id =i;

return id;

public int buscarCuentaC(String nom){

int id=-1;

int tamano=listaCuentasCorr.size()+ listaCuentasAhoros.size();

for(int i = 0; i < listaCuentasCorr.size(); i++){

if(listaClientes.get(i).getNombre().equals(listaCuentasCorr.get(i).getTitular().getNombre())){

id =i;

return id;

public int buscarCuentaA(String nom){

int id=-1;

int tamano=listaCuentasCorr.size()+ listaCuentasAhoros.size();

for(int i = 0; i< listaCuentasAhoros.size(); i++){

if(nom.equals(listaCuentasAhoros.get(i).getTitular().getNombre())){

id =i;

return id;

public boolean validar(String nombre,String contraseña){

boolean valida ;
int id =buscarCliente(nombre);

if(listaClientes.get(id).iniciarSesion(contraseña)){

valida =true;

}else if(id==-1){

valida=false;

}else{

valida=false;

return valida;

También podría gustarte