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.
Descripción del ejercicio
A continuación te dejo la descripción de este ejercicio de programación en Java:
- Al iniciar el programa debe mostrar un menú con las opciones: “Solicitud” y “Crédito”. Las opciones pueden ser números o letras.
- Si el usuario selecciona la opción “Crédito” sin haber hecho primero la opción “Solicitud”, debe mostrar el menú principal.
- En la opción “Solicitud”, el programa debe solicitar los siguientes datos:
- Nombre del cliente
- Sexo
- Edad
- Sueldo mensual
- El programa repetirá la solicitud del sueldo si este es menor o igual a $7000. En caso contrario, mostrará nuevamente el menú principal.
- En la opción “Crédito”, solicitará un monto para el crédito, si y solo si la opción “Solicitud” ya fue realizada. En caso contrario, mostrará nuevamente el menú principal.
- Posteriormente, mostrará un menú con las opciones: 12, 24, 36 y 60 meses. Las opciones pueden ser números o letras
- Con base al tipo de plazo, se aplica un interés: 12 meses 25%, 24 meses 45%, 36 meses 60%, 60 meses 75%
- El programa mostrará en pantalla la información recolectada y terminará su ejecución. Ejemplo:
- Cliente: Juan Pérez Sexo: Hombre Edad: 45 Sueldo Mensual: 8500
- Monto del crédito: $50000 Plazo: 24 meses Total: $72500
- Pagos de: $3020.83
- ¿Desea calcular otro monto? S/N
- Si el usuario da la opción “S”, se mostrará el menú principal para realizar otra solicitud. Si el usuario da la opción “N”, termina el programa
Ahora veamos su solución.
Explicación del algoritmo
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.
Simulador de crédito en Java
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.
Conclusión
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.