Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

Desafío proyecto bancario

Buenas tardes compañeros!
Les comparto el codigo de mi aplicación bancaria.
Le quise agregar unos extras como un try para evitar errores inesperados al ingresar caracteres no validos.
Así mismo hice el uso de metodos.

Les saludo y quedo abierto a cualquier crítica.

import java.util.InputMismatchException;
import java.util.Scanner;

public class Main {

    //variables, las declaré fuera del main para que puedan ser usadas en cualquier parte del código.
    static double saldo = 1599.99;
    static int opcion = 0;
    static String nombreDeCliente = "Tony Stark";
    static String tipoDeCuenta = "Corriente";
    //iniciamos scanner, igualmente desde fuera del main para usarlo en los metodos.
    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {

        while (opcion != 9) {
            System.out.println("\nNombre del cliente: " + nombreDeCliente);
            System.out.println("Tipo de cuenta: " + tipoDeCuenta);
            System.out.println("Saldo disponible: " + saldo);
            System.out.println("""
                    
                    Ingresa la opción deseada:
                    1 - Consultar saldo
                    2 - Retirar
                    3 - Depositar
                    9 - Salir
                    """);

            boolean opcionValida = true; //Se reinicia en cada iteración
            while (opcionValida) {
                try {
                    opcion = sc.nextInt();
                    if (opcion == 1 || opcion == 2 || opcion == 3 || opcion == 9) {
                        switch (opcion) { /*después de java 14 cada case termina después de ejecutar su
                                          instrucción, por eso no hay break en case 9*/
                            case 1 -> consultaSaldo();
                            case 2 -> retiro();
                            case 3 -> deposito();
                            case 9 -> System.out.println("Saliendo del programa");
                        }
                        opcionValida = false;
                    } else {
                        System.out.println("Ingresa un número válido (1, 2, 3 o 9)");
                    }
                } catch (InputMismatchException e) { /*ponemos este catch para manejar errores en caso que el
                                                     usuario ingrese caracteres invalidos*/
                    System.out.println("Ingresa un número válido (1, 2, 3 o 9)");
                    sc.nextLine();
                }
            }
        }
    }

    // Métodos
    public static void consultaSaldo("\n") {
        System.out.println();
        System.out.println("El saldo del cliente: " + nombreDeCliente + " es: $" + saldo);
        System.out.println();
    }

    public static void retiro() {
        System.out.println("\n");
        System.out.println("Ingresa la cantidad a retirar:");
        double retiro = sc.nextDouble();
        if (retiro < saldo) {
            saldo = saldo - retiro;
        }else{
            System.out.println("Fondos insuficientes");
        }

    }

    public static void deposito() {
        System.out.println("\n");
        System.out.println("Ingresa la cantidad a depositar:");
        double depositoDinero = sc.nextDouble();
        saldo = saldo + depositoDinero;
    }
}