Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Proyecto final

PROGRAMA USANDO METODOS DENTRO DE LA CLASE.

import java.util.Scanner;

public class bancoTonyStark { public static void main(String[] args) {

    double saldoCliente=3000;

    Scanner re=new Scanner (System.in);
    int opcion;
    String nombre="Tony Stark";
    int tipoCuenta=1; // 1 cuenta Corriente  2 Debito 3 Credito;
    double montoOperacion;


    System.out.println("BIENVENIDO SR: "+nombre);
    System.out.println("TIPO TARJETA: "+nombreTipoCuenta(tipoCuenta));


    String mensajePrincipalCajero= """
           ****************************************
           
           *** Escriba el numero de la opcion deseada ***
           1.- Consultar Saldo
           2.- Retirar Dinero
           3.- Depositar Dinero
           9.- Salir
           
           ****************************************
           
           
            """;




    do {

    System.out.println(mensajePrincipalCajero);


    opcion=re.nextInt();

    switch (opcion) {


            case 1:

                System.out.println("SU SALDO ES: $"+saldoCliente);

                break;


            case 2:
                System.out.println("CUANTO DESEA RETIRAR?");
                montoOperacion=re.nextDouble();


                if(montoOperacion>0 && montoOperacion<=saldoCliente) {
                    double nSaldo=retirarDinero(saldoCliente, montoOperacion);
                    saldoCliente=nSaldo;

                    mensajeExitoso(saldoCliente);

                }
                else{

                    System.out.println("PORFAVOR INGRESE UN MONTO VALIDO");

                }

                break;


            case 3:
                System.out.println("CUANTO DESEA DEPOSITAR?");
                montoOperacion=re.nextDouble();

                if(montoOperacion>0){
                    double nSaldo=depositarDinero(saldoCliente, montoOperacion);
                    saldoCliente=nSaldo;

                    mensajeExitoso(saldoCliente);

                }
                else{

                    System.out.println("PORFAVOR INGRESE UN MONTO VALIDO");

                }
                break;


            case 9:

                System.out.println("MUCHAS GRACIAS POR PREFERIRNOS");
                break;


            default:
                System.out.println("OPCION NO VALIDA, PORFAVOR RE-INTENTE");
                break;


        }
    }while(opcion!=9);




}


public static void consultarSaldo(double saldo){

    System.out.println("Sr usuario su saldo actual es: "+saldo);


}



public static double retirarDinero(double saldo, double montoOperacion){
        double nSaldo=0;

        if(saldo>0 && montoOperacion<=saldo){
            nSaldo=saldo-montoOperacion;

        }

        return nSaldo;

}


public static double depositarDinero(double saldo, double montoOperacion){
    double nSaldo=0;

    if(montoOperacion>0){
        nSaldo=saldo+montoOperacion;

    }

    return nSaldo;

}


public static void mensajeExitoso(double saldo){
    System.out.println("OPERACION EXITOSA");
    System.out.println("SU NUEVO SALDO ES: $" +saldo);


}


public static String nombreTipoCuenta(int tipoCuenta){

    String ntipoCuenta="";

    if(tipoCuenta==1){

        ntipoCuenta=("Cuenta Corriente");
    }
    else if(tipoCuenta==2){

        ntipoCuenta=("Cuenta Debito");
    }

    else if(tipoCuenta==3){

        ntipoCuenta=("Cuenta Credito");

    }


    return ntipoCuenta;

}

}

1 respuesta

Hola Luciano, espero que estés bien

¡Espero que estés disfrutando del curso! He revisado tu código y parece que estás en el camino correcto para crear un programa de cajero automático. Aquí hay algunos puntos que podrías considerar para mejorar o ajustar tu programa:

  1. Uso de Métodos: Veo que ya has creado métodos para retirar, depositar y consultar el saldo, lo cual es excelente para mantener tu código organizado. Sin embargo, el método consultarSaldo no se está utilizando en tu programa principal. Podrías llamarlo en el case 1 del switch para aprovecharlo.

    case 1:
        consultarSaldo(saldoCliente);
        break;
    
  2. Validación de Entrada: Aunque ya estás validando que el monto de operación sea positivo antes de realizar una transacción, asegúrate de manejar posibles excepciones al leer la entrada del usuario, como entradas no numéricas, para evitar que el programa se detenga inesperadamente.

  3. Refactorización de Código: Podrías considerar mover la lógica de impresión de mensajes dentro de los métodos correspondientes para hacer el código principal más limpio. Por ejemplo, el mensaje de éxito podría ser parte de los métodos retirarDinero y depositarDinero.

  4. Consistencia de Nombres: Asegúrate de mantener consistencia en los nombres de las variables y métodos. Por ejemplo, nSaldo podría ser simplemente nuevoSaldo para mayor claridad.

Aquí tienes un ejemplo de cómo podrías ajustar el case 1 para usar el método consultarSaldo:

case 1:
    consultarSaldo(saldoCliente);
    break;

Espero que estos consejos te sean útiles. ¡Sigue adelante con tu proyecto!

Espero haber ayudado y buenos estudios!