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:
![](https://private-user-images.githubusercontent.com/144395133/342006404-aac6c0f5-4417-45b1-b576-86cd1b91a2ef.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMzM0NzMsIm5iZiI6MTcyNDMzMzE3MywicGF0aCI6Ii8xNDQzOTUxMzMvMzQyMDA2NDA0LWFhYzZjMGY1LTQ0MTctNDViMS1iNTc2LTg2Y2QxYjkxYTJlZi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMzI2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iMWU4ZTdiZmY5OTNlYTMxMzExZTg0ZWFkMjcxZTgzZjEyZGVjMmIyNGE2ZjEwZDcxYjQwOTQ1OWE1MzExYzIxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.hWMOxCroTUQwUDu0jYAsszJ36ei9H7USiQSvFVjKCo4)
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:
![](https://private-user-images.githubusercontent.com/144395133/342006656-f437ecda-17f8-43a8-848d-f91473ccda86.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMzM0NzMsIm5iZiI6MTcyNDMzMzE3MywicGF0aCI6Ii8xNDQzOTUxMzMvMzQyMDA2NjU2LWY0MzdlY2RhLTE3ZjgtNDNhOC04NDhkLWY5MTQ3M2NjZGE4Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMzI2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02NTY1NmUxMGFkOGRmNWM2NDZjODliMDI3MWRiYmFlNmZhOTMyODFiY2M4MDYxNDE3MDgxNGJiZWJhZjVkZjFiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.gpbsPXlakdaalQGGbZpouFYHGqaLuHowNx5ntmqn0kM)
![](https://private-user-images.githubusercontent.com/144395133/342006659-9a422a07-2cf8-4532-ac80-4dc159f9fa4b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMzM0NzMsIm5iZiI6MTcyNDMzMzE3MywicGF0aCI6Ii8xNDQzOTUxMzMvMzQyMDA2NjU5LTlhNDIyYTA3LTJjZjgtNDUzMi1hYzgwLTRkYzE1OWY5ZmE0Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMzI2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iZDU2MTI1N2FiOTNiZTE4NTEzMjhjNmY3MThjZjBkOTc1MzBiNzBmMTQ3NGNjOThkODFmYjQ1YWU0NGFkODNiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.kJJwsCaaRSv3e5ewVl7ZIjEpvW-LmUFWZPFGcQyi2mM)
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.
![](https://private-user-images.githubusercontent.com/144395133/342007555-b6aac2b7-c653-4d28-b1a3-8430541f86ca.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMzM0NzMsIm5iZiI6MTcyNDMzMzE3MywicGF0aCI6Ii8xNDQzOTUxMzMvMzQyMDA3NTU1LWI2YWFjMmI3LWM2NTMtNGQyOC1iMWEzLTg0MzA1NDFmODZjYS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMzI2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00NGMzYzg1NWFjOWU1OTcyZWEzZGRhYmRlZGQzMjRhMTQ5MjliM2MxZWY5YzBkMDIzNjdmOTJlY2JkZjlkMThjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.c2OG0nb83_3q-x1RqcfqqfKXWv2qrVp-6EvEeP9N7t0)
- 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:
![](https://private-user-images.githubusercontent.com/144395133/342011255-de80a34a-ea9f-4c8e-93c0-6ed9d2bbeb58.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMzM0NzMsIm5iZiI6MTcyNDMzMzE3MywicGF0aCI6Ii8xNDQzOTUxMzMvMzQyMDExMjU1LWRlODBhMzRhLWVhOWYtNGM4ZS05M2MwLTZlZDlkMmJiZWI1OC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMzI2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kOTIwODE1NDRmZWI0ZTYzOGJlOTY4YzI4YzUwNzkzOGUxMjdmOTJjNTc4YjZiZDMwNmI0MjUzYTRhMWJjN2I0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Jc0LF2WE-dRItXIDW6lKBCnbjEDO6w-rsrteqpJkkWQ)
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.
![](https://private-user-images.githubusercontent.com/144395133/342011640-978ec2fd-0636-4336-9835-88f0215bd4a7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMzM0NzMsIm5iZiI6MTcyNDMzMzE3MywicGF0aCI6Ii8xNDQzOTUxMzMvMzQyMDExNjQwLTk3OGVjMmZkLTA2MzYtNDMzNi05ODM1LTg4ZjAyMTViZDRhNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMzI2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00YTQyNTUzNzhmOGIzMTBhYTRkNzY3OTk0YTEzYWIzZTQwMDEyMzE1ZmEzMjVmMGJjNzY5NGI1OGFmYThmZGJlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.avSvI9F4MV1hvoL8mcqCDeSkylx2Sj8rT3Sa8ITBJFA)
Si no realizaste ninguna conversión, recibirás otro mensaje.
![](https://private-user-images.githubusercontent.com/144395133/342011654-7dc03936-6891-4808-af54-7a69bc78abb0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMzM0NzMsIm5iZiI6MTcyNDMzMzE3MywicGF0aCI6Ii8xNDQzOTUxMzMvMzQyMDExNjU0LTdkYzAzOTM2LTY4OTEtNDgwOC1hZjU0LTdhNjliYzc4YWJiMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMzI2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01ZTc0YTQ1YjdkZWE5NGNmMGExMWU4NjczZGMxMGUxMjk3YjI0YzhjMGMyOWJlMzMzZWU4NmJmZWFmN2E0YWE2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.-vKYiR1Jkylg4zd-rg71hOPug6DCRrvbdIuq_sU2fTM)
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.
![](https://private-user-images.githubusercontent.com/144395133/342012825-06e26efd-e02a-4fc5-b0f0-f290cd7f7a01.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMzM0NzMsIm5iZiI6MTcyNDMzMzE3MywicGF0aCI6Ii8xNDQzOTUxMzMvMzQyMDEyODI1LTA2ZTI2ZWZkLWUwMmEtNGZjNS1iMGYwLWYyOTBjZDdmN2EwMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMzI2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zNjNkMGVhNDkyODAyNGJlNjRiYmViNDdjNDU2MWMzM2UxZTQ0ZDRlMDc0YmJmODEyYTdjZmJhYjUzZTEzNjVkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.MYUugOWmrIPU7mbANoakTGmAbw0AiQwM7TCEfE4lfLM)
![](https://private-user-images.githubusercontent.com/144395133/342012867-7e62e711-3fec-4a0d-a8e2-8c25092fc328.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMzM0NzMsIm5iZiI6MTcyNDMzMzE3MywicGF0aCI6Ii8xNDQzOTUxMzMvMzQyMDEyODY3LTdlNjJlNzExLTNmZWMtNGEwZC1hOGUyLThjMjUwOTJmYzMyOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMzI2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02Yzk0YzQ2Yjc0OTc3MmI1MzVhZGNkY2VkZDA4ZGVhNWU3M2NkMjY3YmI4MGExM2JlOTA2YjBkNTY3ODg1MWJiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.e3vNkH6xmVv_dmL5NIKqNP8eDk4cBSnotOGkDqfW4SM)
¿Qué sucede si elijes una opción que no es valida? Saldrá un mensaje que te permitirá volver a ingresar otra opción.
![](https://private-user-images.githubusercontent.com/144395133/342014227-30863eba-93c3-4cb5-be52-f94a839a4855.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMzM0NzMsIm5iZiI6MTcyNDMzMzE3MywicGF0aCI6Ii8xNDQzOTUxMzMvMzQyMDE0MjI3LTMwODYzZWJhLTkzYzMtNGNiNS1iZTUyLWY5NGE4MzlhNDg1NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMzI2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iZGE2NmM5NGFhZmY2N2VjN2YyMDMzNDZjZWZhMGE3NmUzNmI3YWEyMmJiYzMyMmJmOTRlMWMyNDRjZDI2ZmI4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.1KhKLXZ-5NAICC5ItrAS3-H9Cbpp6LYCkM-SdOw_mRw)
Cuando decidas salir de la aplicacion, solo debes seleccionar la opción 10.
![](https://private-user-images.githubusercontent.com/144395133/342014406-0cf98250-daa4-46a1-955c-cfc753f1dff4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQzMzM0NzMsIm5iZiI6MTcyNDMzMzE3MywicGF0aCI6Ii8xNDQzOTUxMzMvMzQyMDE0NDA2LTBjZjk4MjUwLWRhYTQtNDZhMS05NTVjLWNmYzc1M2YxZGZmNC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQxMzI2MTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xYTkxNTA3Yjk4NGExYmQ0ZjNmZmE1MzdhYjg4NzNiOWIxZjAyZTc3ZjEyYjlmMDE4YjFmYmE5MDc0YzcxZjU4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.akoCHBaYlrd-hDUt6BI_-hAWICQbmPR6xtzYOP9ojQo)