Projeto [Extenso] – 121 –> “cento e vinte e um” Versão Java

Download Extenso.rar (versão Java).

Veja versão em Javascript:  Projeto [Extenso] – 122 -> “cento e vinte e dois”

Projeto

Nome: Extenso

D:\OneNote\Estudos\SCWCD\Extenso

Versão 1.0

Para usar:

Na pasta [classes] execute o arquivo Teste.class. Veja ilustração abaixo [prompt de comando]

Objetivo:

Escrever um número em extenso

Ex: 1240421.22

(um milhão duzentos e quarenta mil quatrocentos e vinte e um Reais vinte e dois Centavos)

Ex2: 12240421.22

(doze milhões duzentos e quarenta mil quatrocentos e vinte e um Reais vinte e dois Centavos)

Funcionamento:

Para a leitura e escrita do número usamos uma espécie de “Chain Of Responsibility”. Temos uma superclasse inicial chamada [Expression] que possui o método String interpret(String number).

Cada classe tem seu papel definido na cadeia:

Extenso: concatenar os resultados como veremos adiante

Centena: retornar o literal referente as centenas {cem, duzentos, trezentos, quatrocentos … novecentos} e também {cento}

Dezena: retornar o literal referente as dezenas {dez, vinte, trinta, quarenta … noventa} e também {onze, doze, treze, quatorze, … dezenove}

Unidade: retornar o literal referente as unidades {um, dois, três, quatro … nove}

Exemplo de funcionamento simples:

Dado um número: 121

1 – Exemplo (121) – “cento e vinte e um”:

2 – Exemplo (117) – “cento e dezessete”:

3 – Exemplo (101) – “cento e um”:

4 – Exemplo (100) – “cem”:

Nos quatro exemplos dado acima, pudemos ver o funcionamento entre as classes Centena, Dezena e Unidade, porém existe também a classe Extenso, que faz parte desta cadeia. Na verdade a classe Extenso é a “porta de entrada” de todas as outras, apesar de todas estenderem igualmente a classe Expression.

Temos que ter em mente que a “coisa” sempre se repete:

– unidade 1 / dezena 10 / centena 100

– unidade de mil 1.000 / dezena de mil 10.000 / centena de mil 100.000

– unidade de milhão 1.000.000 / dezena de milhão …./ centena de milhão

– e assim por diante …

A finalidade da classe Extenso é fazer a concatenação de resultados. Vejamos:

Esta entrada foi publicada em Java, Projetos com as etiquetas , , . ligação permanente.

17 respostas a Projeto [Extenso] – 121 –> “cento e vinte e um” Versão Java

  1. Pingback: Projeto [SimpleTagHandler1] | Pedro Abs

  2. Pingback: Projeto [ClassicTagHandler1] | Pedro Abs

  3. Davis Strauss Maizing diz:

    Cara, muito bom. Excelente explicação.

    Gostar

  4. Muito legal o projeto, ótima explicação. Parabéns!

    Gostar

  5. Muito Legal pedro, parabéns!

    Gostar

  6. jandeia diz:

    Vou usar no meu projeto…

    Gostar

  7. Crispim diz:

    Muito bom, Possso Usar na Empresa que trabalho ?

    Gostar

  8. Ana Rita diz:

    Amei o projeto!! Parabéns!!

    Gostar

  9. Jonathan diz:

    Muito massa,cara…Extremamente profissional e exemplos altamente didáticos.Parabéns

    Gostar

  10. Muito bom, meus parabens… e meus agradecimentos por compartilhar…

    Gostar

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s