El Conversor de Monedas es una aplicación Java diseñada para realizar conversiones de diferentes monedas utilizando tasas de cambio actuales. Además, permite mantener un historial de conversiones realizadas y guardar este historial en archivos JSON y de texto.
Esta aplicación te permite:
- Realizar la conversión de monedas entre diferentes pares de divisas.
- Ingresar pares de divisas personalizados.
- Visualizar el "Historial de conversiones".
- Guardar el "Historial de conversiones" en archivos JSON y de texto.
Debes contar con:
- Java 17 o superior.
- Librerías externas:
- Gson para manejo de archivos JSON.
- HttpClient para solicitudes HTTP.
- JsonParser para parseo de respuestas JSON.
- Una clave Api de ExchangeRate-Api, puedes obtenerla de forma gratuita en www.exchangerate-api.com .
Para usar el Conversor debes:
- Copiar el repositorio o descargar los archivos fuente del programa.
- Asegúrate de tener las librerías necesarias en tu entorno de desarrollo. Puedes añadirlas a tu proyecto mediante un gestor de dependencias o agregarlas manualmente
- Después, abre el archivo de la clase "Solicitud" en tu IDE de Java.
En apiKey debes reemplazar “Aquí va tu clave” con la clave API que has generado en ExchangeRate-Api. - Finalmente, abre el archivo de la clase "Principal" y ejecútalo.
El programa presenta el siguiente menú interactivo:

Para seleccionar las opciones debes ingresar el número correspondiente
y seguir las instrucciones.
Las opciones del 1 al 6 tienen divisas predeterminadas, si seleccionas
una de ellas obtendrás un resultado similar a estos:


Con la opción 7 puedes utilizar divisas que no se encuentran entre las predeterminadas.
Ingresa las divisas y la cantidad a convertir cuando la aplicación lo solicite.
Cuentas con la posibilidad de escribir las divisas en mayúsculas o minúsculas.

- AUD - Australian Dollar - Australia
- CRC - Costa Rican Colon - Costa Rica
- CUP - Cuban Peso - Cuba
- HNL - Honduran Lempira - Honduras
- JPY - Japanese Yen - Japan
- KRW - South Korean Won - South Korea
Si deseas hacer pruebas con otras monedas, puedes encontrar más códigos en la página www.exchangerate-api.com , en la sección Supported Currencies .
En ese caso, obtendrás el siguiente mensaje:

En caso de que quieras ver nuevamente las conversiones que has realizado, entonces selecciona la opción 8, de ésta manera podrás observar los cambios de moneda que has realizado.

Si no realizaste ninguna conversión, recibirás otro mensaje.

Con ésta opción puedes guardar el historial en dos archivos, uno en formato .json y otro
en formato .txt.
Ambos se guardan dentro de la carpeta donde copiaste el repositorio con los archivos fuente.


¿Qué sucede si elijes una opción que no es valida? Saldrá un mensaje que te permitirá volver a ingresar otra opción.

Cuando decidas salir de la aplicacion, solo debes seleccionar la opción 10.
