/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main
(String[] args
) { double balance = 1000.00; // Saldo inicial
bienvenidayMenu();
balance = operacion(balance);
}
// Método para dar la bienvenida y mostrar el menú
public static void bienvenidayMenu() {
System.
out.
println("Bienvenido al sistema bancario"); System.
out.
println("Por favor, elija una opción:"); System.
out.
println("a: Hacer depósito"); System.
out.
println("b: Hacer retiro"); System.
out.
println("c: Ver saldo"); }
// Método para realizar una operación basada en la opción del usuario
public static double operacion(double bal) {
char opcion;
Scanner lectura
= new Scanner
(System.
in);
double newBal = bal;
// Leer el carácter de la opción (espera a que el usuario ingrese una opción)
System.
out.
print("Ingrese una opción: "); opcion = lectura.nextLine().charAt(0); // Leer un carácter
System.
out.
println("Opción seleccionada: " + opcion
); // Depuración: mostrar la opción ingresada
// Procesar la opción ingresada
switch (opcion) {
case 'a':
newBal = hacerDeposito(bal);
break;
case 'b':
newBal = hacerRetiro(bal);
break;
case 'c':
newBal = bal;
break;
default:
System.
out.
println("Opción no válida"); break;
}
System.
out.
println("El balance de la cuenta es: " + newBal
); // Mostrar el saldo después de la operación return newBal;
}
// Método para hacer un depósito
public static double hacerDeposito(double balan) {
double cantidad, newBalan;
Scanner lectura
= new Scanner
(System.
in);
System.
out.
print("Favor de entrar la cantidad a depositar: "); cantidad = lectura.nextDouble(); // Leer la cantidad de depósito
newBalan = balan + cantidad;
return newBalan;
}
// Método para hacer un retiro
public static double hacerRetiro(double balan2) {
double cantidad = 0, newBalan2;
int optionM;
Scanner lectura
= new Scanner
(System.
in);
System.
out.
println("Qué cantidad desea retirar?"); System.
out.
println("4: $100"); System.
out.
println("5: Otra cantidad");
optionM = lectura.nextInt(); // Leer la opción para el retiro
// Limpiar el buffer antes de leer el siguiente input
lectura.nextLine(); // Consumir el salto de línea que queda en el buffer
switch (optionM) {
case 1:
cantidad = 10;
break;
case 2:
cantidad = 20;
break;
case 3:
cantidad = 50;
break;
case 4:
cantidad = 100;
break;
case 5:
System.
out.
print("Entre cantidad a retirar: "); cantidad = lectura.nextDouble(); // Leer una cantidad personalizada
break;
default:
System.
out.
println("Opción no válida"); return balan2; // Retornar el saldo original si la opción es inválida
}
newBalan2 = balan2 - cantidad;
return newBalan2;
}
} // Cierre de la clase Main