/Challenge-Oracle-ONE-conversordemoedas

Challenge #02 (Conversor) - Alura & Oracle ONE

Primary LanguageJava

badge-challenge

Challenge ONE Back End - Java

Sprint 01: Crie seu próprio conversor de moeda


História

Nesta oportunidade foi solicitado para nós Devs a criação de um conversor de moeda utilizando a linguagem Java. As características solicitadas por nosso cliente são as seguintes:

O conversor de moeda deverá:

  • Converter de Reais a Dólar
  • Converter de Reais a Euro
  • Converter de Reais a Libras Esterlinas
  • Converter de Reais a Peso Argentino
  • Converter de Reais a Peso Chileno

Lembrando que deve ser possível também converter de forma inversa.

Como desafio extra incentivamos vocês a deixar fluir sua criatividade, se posso converter moedas, será que posso tal vez adicionar a meu programa outro tipo de conversões como temperatura por exemplo?


Resultado

Download JAR

(necessário JRE 8 ou superior)

Untitled2.mp4

Conversão

  • As unidades de conversão são divididas em Classes, cada classe possui suas unidades em forma de atributo estático (que seria uma instância da Classe). Cada unidade possui um símbolo, um fator multiplicador (que é usado no método para fazer a conversão entre as unidades) e o seu nome.
  • Uma unidade pode ser convertida para outra chamando seu próprio método convert, assim:
BigDecimal result = REAL.convert(new BigDecimal("1"), DOLAR);

! O fator multiplicador das moedas é o valor equivalente de 1 em relação ao Dolar, para facilitar a conversão entre elas.

GUI

  • Conforme sugerido para este Challenge, foi utilizado o kit de componentes GUI do próprio Java, chamado Swing, onde podemos criar componentes e interfaces gráficas com o paradígma orientado a objetos.

  • Fácil expansão e adição de novas unidades de conversão

  • Para adicionar novas unidades, basta criar uma subclasse de Unit.

  • Para adicionar a tela referente a essa nova unidade de conversão basta:

    1- Criar uma classe que estenda a classe abstrata Screen.

    2- Implementar e concretizar os métodos abstratos.

    3- Adicionar essa nova tela ao objeto na NavBar, conforme estes.

  • Para criar qualquer outra tela, basta criar um classe que estenda de JPanel e implemente a interface Screen_Properties e adicioná-la à NavBar.


Tecnologias utilizadas



Aplicação Desktop de Conversor de Unidades desenvolvido como Challenge, durante a formação Backend Java, do programa ONE (Oracle Next Education) através da plataforma de ensino Alura.