Hoy vamos a resolver otro ejercicio de programación en Java. Se trata de un programa que simula la solicitud de crédito de un usuario solicitando el monto y el plazo (12, 24, 36 y 60 meses) así como el interés y el pago mensual.
Por otro lado, dentro del ejercicio vamos a solicitar los datos del cliente que los pide, por ejemplo el sueldo, nombre, género, etcétera.
A continuación te dejo la descripción de este ejercicio de programación en Java:
Ahora veamos su solución.
Todo va a estar dentro de un ciclo while que se va a romper solo cuando el usuario ya no quiera hacer solicitud de crédito. Además, vamos a tener una bandera que indicará si el usuario ha llenado la solicitud correctamente.
Después vamos a usar if
para calcular el interés con operaciones simples.
Es momento de pasar al código. Queda así:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Bandera para saber si ha llenado la solicitud
boolean haLlenadoSolicitud = false;
// Variables de datos del cliente
String nombre = "", sexo = "";
int edad = 0;
double sueldo = 0;
// Saber si quiere hacer más solicitudes
String masSolicitudes = "s";
String eleccion = "";
while (masSolicitudes.equalsIgnoreCase("s")) {
System.out.println("1. Solicitud\n2. Crédito\nElige [1-2]: ");
eleccion = sc.nextLine();
if (eleccion.equals("1")) {
System.out.println("Ingresa nombre: ");
nombre = sc.nextLine();
System.out.println("Ingresa edad: ");
edad = sc.nextInt();
// Consumir la línea sobrante que dejó "nextInt". Si no lo hacemos, el programa no espera para leer el sexo
sc.nextLine();
System.out.println("Ingresa sexo: ");
sexo = sc.nextLine();
while (sueldo <= 7000) {
System.out.println("Ingresa sueldo: ");
sueldo = sc.nextDouble();
// Consumir la línea sobrante que dejó "nextDouble"
sc.nextLine();
}
haLlenadoSolicitud = true;
}
if (eleccion.equals("2")) {
if (haLlenadoSolicitud) {
double monto;
System.out.println("Ingresa el monto que solicitas: ");
monto = sc.nextDouble();
// Consumir la línea que dejó "nextDouble"
sc.nextLine();
System.out.println("1. 12 meses\n2. 24 meses\n3. 36 meses\n4. 60 meses\nElige [1-4]: ");
String plazo = sc.nextLine();
double porcentajeDeInteres = 0;
int meses = 0;
if (plazo.equals("1")) {
porcentajeDeInteres = 0.25;
meses = 12;
} else if (plazo.equals("2")) {
porcentajeDeInteres = 0.45;
meses = 24;
} else if (plazo.equals("3")) {
porcentajeDeInteres = 0.6;
meses = 36;
} else if (plazo.equals("4")) {
porcentajeDeInteres = 0.75;
meses = 60;
}
double interes = monto * porcentajeDeInteres;
double total = monto + interes;
double pagoMensual = total / meses;
System.out.println("Cliente: " + nombre);
System.out.println("Sexo: " + sexo + "\tEdad: " + String.valueOf(edad) + "\tSueldo Mensual: " + String.valueOf(sueldo));
System.out.println("Monto del crédito: $" + String.valueOf(monto) + "\tPlazo: " + String.valueOf(meses) + " meses");
System.out.printf("Total: $%.2f\n", total);
System.out.printf("Pagos de: $%.2f\n", pagoMensual);
System.out.println("¿Desea calcular otro monto? [S/N]");
masSolicitudes = sc.nextLine();
} else {
System.out.println("No has llenado la solicitud");
}
}
}
}
}
Como puedes ver, la bandera que indica si la solicitud ha sido llenada está en la línea 8, y la cambiamos solo cuando el usuario introduce todos sus datos en la línea 34.
Luego en caso de que solicite un crédito se le pide el plazo y se hacen los cálculos en la línea 60 hasta la línea 62. La pregunta de volver a calcular otro monto se hace en la línea 68, y eso cambia la bandera del ciclo while en la línea 69 y 16.
Así terminamos este ejercicio de programación en Java. Como siempre te digo: eres libre de mejorarlo, adaptarlo o tomar las partes que necesites para tu proyecto.
Finalmente te dejo con más tutoriales y ejercicios resueltos de Java.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.