Informática, pregunta formulada por Unknown682, hace 15 días

AYUDA CON UN EJERCICIO DE JAVA:

Se desea procesar las operaciones bancarias de un cliente a quien se le pide por única vez su nombre y saldo inicial. Luego en un proceso repetitivo se presenta las siguientes opciones:

Depósito, Retiro, Fin. Al ingresar la opción elegida si esta fue ‘D’ se pide si es en efectivo (1) o con cheque (2), se ingresa la cantidad, y si fuese cheque se descuenta el 1% por comisión y se actualiza su saldo mostrándolo en pantalla. Si la opción elegida fue ‘R’ se ingresa la cantidad verificando que ésta sea menor al saldo actualizándolo, de lo contrario dar un mensaje de sobregiro. Si la opción elegida fue ‘F’ mostrar los siguientes resultados:

a. Nombre, Saldo inicial.

b. Saldo final.

c. Número de Depósitos en EFECTIVO y con CHEQUE.


A tener en cuenta:

 Debe trabajar con clases, con encapsulación de datos

(Private).

 Debe tener por lo menos un constructor

 Debe utilizar métodos Getters y Setters según sea el caso

 Debe tener métodos para los cálculos

 Debe tener un menú de Opciones.

 Debe utilizar excepciones Try, Catch Finaly

Respuestas a la pregunta

Contestado por megatokay
1

Programa en java que simula retiros y depósitos del banco. El código tiene métodos, excepciones try-catch, constructores, menú, entre otros. Se adjunta imagen de código y salida por pantalla.

Código java de programa de operaciones bancarias

import java . io . *;

public class Main {

public static void main(String args[]) throws IOException {

 BufferedReader bufEntrada = new BufferedReader(new InputStreamReader(System . in));

  •  // Definir e inicializar variables

 String nombre, op;

 double retiro, saldo, saldoi, deposito;

 int tipooper, _contcheque, _contefectivo;

 deposito = 0;

 saldoi = 0;

 saldo = 0;

 retiro = 0;

 tipooper = 0;

 _contefectivo = 0;

 _contcheque = 0;

 op = "";

 nombre = "";

 System . out . println("*****Operaciones Bancarias****");

  •  // Entrada de datos validas con try-catch

 System . out . print("Ingrese su nombre: ");

 nombre = bufEntrada . readLine();

 System . out . print("Ingrese su deposito inicial: ");

 do {    

          try {

          saldoi = Double . parseDouble(bufEntrada . readLine());

           System . out . println(saldoi);

       } catch(NumberFormatException e) {

           System . out . println("error de formato, intente de nuevo");

       }

 } while (saldoi<=0);

 saldo = saldoi;

  •  // Seleccionar acción en en menú

 do {

  System . out . println("Ingrese Opción");

  System . out . println("*************************");

  System . out . println("D.- Depósito ");

  System . out . println("R.- Retiro ");

  System . out . println("F.- Fin");

  do {

   op = bufEntrada . readLine();

   op = op . toLowerCase();

  } while (!(!op . equals("d")|!op . equals("r")|!op . equals("f")));

  •   // menú de deposito

  switch (op) {

  case "d":

   System . out . println("Ingrese Opción");

   System . out . println("*************************");

   System . out . println("1.- Efectivo ");

   System . out . println("2.- Cheque ");

   do {

    tipooper =Integer . parseInt(bufEntrada . readLine());

   } while (!(tipooper==1 || tipooper==2));

   if (tipooper==1) {

        System . out . print("Ingrese monto del deposito en efectivo: ");

  do {

      try {

          deposito = Double . parseDouble(bufEntrada . readLine());

           System . out . println(deposito);

       } catch(NumberFormatException e) {

           System . out . println("error de formato, intente de nuevo");

       }

  } while (deposito<=0);

  saldo = saldo+deposito;

  System . out . println("Su saldo actualizado es: "+saldo);

     //Llamada a método contador de efectivo (constructor)

    Contador valor = new Contador(0,_contefectivo);

       _contefectivo=valor . efectivo(_contefectivo);

   } else {

  • //Llamada a método depósito (no constructor)

    Double _saldo = Fdeposito (saldo) ;

     saldo = _saldo;

  •      //llamada a método Constructor

  Contador valor = new Contador(0,_contcheque);

       _contcheque=valor . cheque(_contcheque);

 

   }

   break;

  case "r":

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

   do {

       try {

          retiro = Double . parseDouble(bufEntrada . readLine());

           if (retiro>saldo) {

     System . out . println("error, su retiro está sobregirado, su saldo actual es: "+saldo);

    }

           System . out . println(retiro);

       } catch(NumberFormatException e) {

           System . out . println("error de formato, intente de nuevo");

       }

     

   } while (retiro>saldo);

   saldo = saldo-retiro;

   System . out . println("Su saldo actualizado es: "+saldo);

   break;

  case "f":

   System . out . println("Nombre clientes: "+nombre);

   System . out . println("Saldo Inicial: "+saldoi);

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

   System . out . println("Cantidad de depositos en efectivo: "+_contefectivo);

   System . out . println("Cantidad de depositos en cheque: "+_contcheque);

   break;

  }

 } while (!op . equals("f"));

}

    private static double Fdeposito (double saldo) throws IOException {

 BufferedReader bufEntrada = new BufferedReader(new InputStreamReader(System . in));

  •      // definir variables

double _deposito;

 _deposito = 0;

  •       // Procesar los datos

  System . out . print("Ingrese monto del deposito en cheque: ");

  do {

       _deposito = Double . parseDouble(bufEntrada . readLine());

  } while (_deposito<=0);

  _deposito = _deposito-(_deposito*0.01);

  saldo = saldo+_deposito;

  System . out . println("Su saldo actualizado es: "+saldo);

    return saldo;

 }

    }

   

  •         // clase constructor

        class Contador {

  •             //contador operaciones deposito en efectivo y cheque

   int efectivo;

   int cheque;  

  •    //Esto es un constructor para contador

   Contador (int e, int c) {

       efectivo=e;

       cheque=c;

      }

  •     //Retornando valores

   int efectivo(int _contefectivo){

       return _contefectivo+1;

   }

   int cheque(int _contcheque){

       return _contcheque+1;

   }

   }

   

Para saber más acerca del programas en java con clases, constructores, métodos, y excepciones consulte: https://brainly.lat/tarea/14198126, https://brainly.lat/tarea/11932711, y https://brainly.lat/tarea/6370055

#SPJ3

Adjuntos:
Otras preguntas