Skip to content

GNunnes/ConversorDeMoedas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conversor de Moedas Java com Interface Gráfica e API ExchangeRate

Java

  • Descrição
  • Funcionalidades
  • Tecnologias
  • Requisitos
  • Como Usar
  • Estrutura do código
  • Detalhes de Implementação
  • Tratamento de Erros
  • Melhorias Futuras
  • Licença
  • Contato

Descrição

Este é um programa em Java que funciona como um conversor de moedas com interface gráfica simples, usando JOptionPane. Ele utiliza a API pública da ExchangeRate-API para consultar as taxas de câmbio reais e fazer conversões atualizadas de valores entre as moedas. A aplicação foi desenvolvida para ser simples, amigável e robusta, com tratamento de erros para entradas inválidas e problemas de comunicação com a API.

Funcionalidades

Menu gráfico com 6 opções de conversão entre as moedas:

  • BRL (Real) <-> USD (Dólar)
  • BRL (Real) <-> EUR (Euro)
  • USD (Dólar) <-> BRL (Real)
  • USD (Dólar) <-> EUR (Euro)
  • EUR (Euro) <-> BRL (Real)
  • EUR (Euro) <-> USD (Dólar)

Opção para sair do programa.

Entrada do usuário por caixas de diálogo (JOptionPane).

Validação da opção do menu e valor digitado.

Consulta dinâmica da taxa de câmbio via API ExchangeRate Conversão do valor informado pelo usuário com exibição do resultado Tratamento de erros com mensagens amigáveis para entradas inválidas e falhas na API

Tecnologias Utilizadas

  • Java SE 8+ (recomendado Java 11+)
  • Biblioteca Gson para parsing de JSON (com.google.gson)
  • API ExchangeRate (https://www.exchangerate-api.com/)
  • Swing (JOptionPane) para interface gráfica simples

Requisitos

  • Java JDK 8 ou superior instalado e configurado no PATH
  • Acesso à internet para consumir a API ExchangeRate
  • Biblioteca Gson incluída no projeto (JAR ou via gerenciador de dependências)
  • Chave válida da ExchangeRate API (free ou paga) — inserida na classe APIClient

Como Usar

  1. Configurando o projeto:
  • Adicione a biblioteca Gson ao seu projeto (exemplo: gson-2.10.1.jar no classpath).
  • Insira sua chave de API da ExchangeRate no arquivo APIClient.java:
private static final String API_KEY = "SUA_CHAVE_API_AQUI";
  1. Compilação:

    Compile as classes, por exemplo, pelo terminal:

javac -cp ".;gson-2.10.1.jar" ConversorMoedas.java APIClient.java
  1. Execução:

    Execute a aplicação:

java -cp ".;gson-2.10.1.jar" ConversorMoedas
  1. Interação:
  • Escolha uma opção no menu gráfico.
  • Insira o valor a ser convertido.
  • Veja o resultado da conversão.
  • Repita ou saia do programa.

Estrutura do Código

ConversorMoedas.java

  • Contém o loop principal com a interface gráfica.
  • Gerencia o menu, leitura da opção do usuário com validação.
  • Recebe o valor a ser convertido, validando tipo e valores positivos.
  • Usa a classe APIClient para solicitar a conversão via API.
  • Exibe resultados e mensagens de erro.

APIClient.java

  • Contém a lógica para montar a URL da API com a moeda de origem, destino e valor.
  • Faz a requisição HTTP GET para a ExchangeRate API.
  • Lê a resposta JSON e faz o parsing usando Gson.
  • Trata a resposta da API, lança exceção em caso de erro.
  • Retorna o valor convertido para a aplicação.

Detalhes de Implementação

  • Uso de Locale.US para garantir que o valor decimal na URL utilize ponto (.) e não vírgula (,) — requisito para APIs internacionais.
  • Requisição HTTP feita com HttpURLConnection.
  • Parsing JSON usando JsonParser e JsonObject da biblioteca Gson.
  • Interface gráfica feita com JOptionPane, incluindo caixas de diálogo para entrada e mensagens.
  • Uso de tratamento de exceções para garantir que falhas na rede ou na API sejam capturadas e exibam mensagens amigáveis ao usuário.
  • Validação rigorosa da entrada para garantir apenas números válidos e opções do menu corretas.

Tratamento de Erros

Tipo de Erro Como é tratado?
Entrada inválida no menu Mensagem de erro e volta para o menu solicitando nova opção
Valor digitado inválido Mensagem indicativa para digitar um valor numérico válido e positivo
Erro na resposta da API Mensagem de erro amigável informando falha na conversão
Erros HTTP (ex.: 404, 500) Exception capturada e mensagem exibida para o usuário
Cancelamento ou fechamento O programa encerra de forma elegante

Melhorias Futuras

  • Suporte a mais moedas (permitir escolha dinâmica via API ou lista ampliada)
  • Histórico de conversões na sessão
  • Interface gráfica mais avançada usando JavaFX ou Swing completo
  • Implementação de testes automatizados
  • Cache das taxas para evitar consultas em excesso e usar o plano gratuito da API
  • Tradução e internacionalização da interface



📄 Licença
Este projeto está sob a licença MIT.
Veja o arquivo LICENSE para mais detalhes.


👤 Desenvolvido por

Gustavo N. Bezerra - LinkedIn | GitHub |gustavonunnes@hotmail.com

About

Conversor de moedas em JAVA.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages