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

[Proyecto] Mi solución, bastante sencilla

import java.util.Scanner;

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

  String nombreCliente = "Hector Said Ferreira Rodríguez";
  String tipoCuenta = "Corriente";

  double saldo = 0;
  double retiro = 0;
  double deposito = 0;

  int opcion = 0;

    System.out.println("Nombre del cliente: "+nombreCliente);
    System.out.println("Tipo de cuenta: "+tipoCuenta);
    System.out.println("Saldo disponible: $"+ saldo);
  Scanner teclado = new Scanner(System.in);

  while (opcion !=4 ){
      System.out.println("Ingrese una opción");
      System.out.println("""
              1- Consultar Saldo
              2- Retirar
              3- Depositar
              4- Salir
              """);
      opcion = teclado.nextInt();
      switch (opcion){

          case 1:
              System.out.println("El saldo de la cuenta es: $"+saldo);
              break;

          case 2:
              if(saldo == 0.0){
                  System.out.println("No puedes retirar, tu saldo es de : $"+saldo);
                  break;
              }

              System.out.println("Indique la cantidad a retirar: ");
              retiro = teclado.nextDouble();

              if(retiro>saldo || retiro<0)
                  System.out.println("No puedes retirar esa cantidad, tu saldo es de: $"+saldo);
              else {
                  saldo -= retiro;
                  System.out.println("El saldo actualizado es: $"+saldo);
              }
              break;

          case 3:
              System.out.println("Indique la cantidad a depositar: ");
              deposito = teclado.nextDouble();
              if (deposito < 0)
                  System.out.println("No puedes depositar una cantidad negativa");
              else{
                  saldo += deposito;
                  System.out.println("El saldo actualizado es: $"+saldo);
              }

          case 4:
              break;

          default:
              System.out.println("Opción no válida");
              break;
      }
  }


}

}

1 respuesta

Hola Hector, espero que estés bien

¡Gracias por compartir tu solución! Has hecho un gran trabajo al implementar un sistema básico de gestión de cuentas. Veo que tu código es bastante claro y funcional. Sin embargo, he notado que en el caso 3, que es para depositar, falta un break al final. Esto podría causar que el programa continúe ejecutando el caso 4 inmediatamente después de realizar un depósito, lo que no sería el comportamiento esperado.

Aquí te muestro cómo podrías corregirlo:

case 3:
    System.out.println("Indique la cantidad a depositar: ");
    deposito = teclado.nextDouble();
    if (deposito < 0)
        System.out.println("No puedes depositar una cantidad negativa");
    else {
        saldo += deposito;
        System.out.println("El saldo actualizado es: $" + saldo);
    }
    break; // Añadir este break para evitar que pase al caso 4 automáticamente

Con esta pequeña corrección, tu aplicación debería funcionar aún mejor. Espero que esto te sea de ayuda y continúes disfrutando del proceso de aprendizaje.

Espero haber ayudado y buenos estudios!