| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2012 07:13:28
|
Soruji
JavaGuru
Membro desde: 02/01/2012 05:58:19
Mensagens: 245
Offline
|
Bom dia pessoal,
Estou postando um trabalho que fiz de java, onde um usuário digita um número de 0 a 1000 e numa caixa de diálogo o número é retornado por extenso. Foi meu primeiro "grande projeto" em java, mas agora que eu estou tentando estudar melhor a linguagem vi que posso aperfeiçoar esse código, até para ficar bem mais legível. Vcs poderiam me ajudar postando códigos do mesmo programa mostrando o que eu poderia estar melhorando (talvez usando herança, polimorfismo, não sei)?
Ficaria muito grato.
Desculpe se o código ficou muito grande. Foi meu primeiro contato com a linguagem. rsrs
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2012 09:06:17
|
jaboot
Virtual Machine Man
Membro desde: 01/07/2005 14:25:37
Mensagens: 749
Localização: São Paulo
Offline
|
Cara, te falar que o https://github.com/caelum/caelum-stella já faz isso.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/02/2012 18:07:37
|
Soruji
JavaGuru
Membro desde: 02/01/2012 05:58:19
Mensagens: 245
Offline
|
Vcs poderiam me ajudar, pessoal? Juro que não faço mais . kkkkk
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/02/2012 20:17:55
|
regis_hideki
Debugger
Membro desde: 29/03/2010 19:22:50
Mensagens: 51
Offline
|
Soruji wrote:Bom dia pessoal,
Estou postando um trabalho que fiz de java, onde um usuário digita um número de 0 a 1000 e numa caixa de diálogo o número é retornado por extenso. Foi meu primeiro "grande projeto" em java, mas agora que eu estou tentando estudar melhor a linguagem vi que posso aperfeiçoar esse código, até para ficar bem mais legível. Vcs poderiam me ajudar postando códigos do mesmo programa mostrando o que eu poderia estar melhorando (talvez usando herança, polimorfismo, não sei)?
Ficaria muito grato.
Desculpe se o código ficou muito grande. Foi meu primeiro contato com a linguagem. rsrs
Primeiramente, algumas sugestões. Prefira trocar isso:
int num; // declaração da variável num para capturar o numero digitado;
String U[]; // declaração do vetor unidade;
String d[]; // declaração do vetor dezena;
String c[]; // declaração do vetor centena;
String conv; // declaração da variável de conversão;
Por algo mais ou menos assim:
int nuumeroDigitado;
String unidade[];
String dezena[];
String centena[];
String variavelconversao;
A vantagem do segundo, é que, ao contrário do comentário, é carregado durante todo o código. Se há comentários demais, é porque o código não está muito claro.
Segundo, o nome dos dois primeiros vetores não estão muito sugestivos do que eles fazem. do jeito que está, parece que o primeiro representa apenas o ultimo dígito da direita (unidades), e o segundo, apenas o penúltimo (dezenas), o que não ocorre.
Terceiro, por que você carregou os arrays com mais posições do que o necessário? No primeiro, você carregou 21 posições e usou 20. No segundo, você carregou 11 e usou 10.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2012 06:11:21
|
Soruji
JavaGuru
Membro desde: 02/01/2012 05:58:19
Mensagens: 245
Offline
|
Muito obrigado pelas dicas.
Então, como eu disse no começo, foi meu primeiro contato com a linguagem. Na verdade, estou buscando uma forma de aperfeiçoar o código usando melhor os conceitos de programação orientada a objetos, como encapsulamento, polimorfismo,herança. Creio que se eu conseguir dominar bem essas técnicas, meu código ficará naturalmente mais legível.
Com relação ao uso dos arrays, eu não entendi. Acho que se o código for testado, dá pra ver que nenhum array foi desnecessário.
Obrigado.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2012 09:50:30
|
regis_hideki
Debugger
Membro desde: 29/03/2010 19:22:50
Mensagens: 51
Offline
|
Soruji wrote:Muito obrigado pelas dicas.
Então, como eu disse no começo, foi meu primeiro contato com a linguagem. Na verdade, estou buscando uma forma de aperfeiçoar o código usando melhor os conceitos de programação orientada a objetos, como encapsulamento, polimorfismo,herança. Creio que se eu conseguir dominar bem essas técnicas, meu código ficará naturalmente mais legível.
Com relação ao uso dos arrays, eu não entendi. Acho que se o código for testado, dá pra ver que nenhum array foi desnecessário.
Obrigado.
Quando você fez isso:
U = new String[21]; // atribui a variável U um objeto String de 21 posições;
d = new String[11]; // atribui a variável d um objeto String de 11 posições;
Criou um array U de 21 posições, ou seja, de 0 a 20, mas o U[20] não foi utilizado. O mesmo acontece com o d[10].
Não sei se daria para mudar muuuuuita coisa com esse código a fim de treinar práticas de OO. Eu sugeriria procurar outro tipo de problema.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2012 10:00:27
|
regis_hideki
Debugger
Membro desde: 29/03/2010 19:22:50
Mensagens: 51
Offline
|
Estou enviando um exercício que tive no segundo semestre, e que mexe com herença e polimorfismo. Muita coisa nele poderia ser melhorada, mas para por em prática esses fundamentos, acho válido.
| Nome do arquivo |
EP1.PDF |
Download
|
| Descrição |
Descrição |
| Tamanho |
64 Kbytes
|
| Baixado: |
12 vez(es) |
| Nome do arquivo |
EP1 - Início.zip |
Download
|
| Descrição |
Esqueleto das classes |
| Tamanho |
4 Kbytes
|
| Baixado: |
9 vez(es) |
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2012 12:59:23
|
InicianteJavaHenrique
GUJ Ranger
![[Avatar]](/images/avatar/6689263e6df1fbd89377d1dac02f87b0.png)
Membro desde: 16/02/2011 12:20:00
Mensagens: 792
Localização: São Vicente - SP
Offline
|
Olá Soruji
Você pode começar aprendendo:
"Como não aprender orientação a objetos: o excesso de ifs" por Guilherme Silveira
E em seguida ver este mesmo exercício feito por Arizoide
flw
|
Jogo de Xadrez com I.A feito em Java 2D. - HFS Softwares
Portal de Jogos - Questionário
"Felizes os Tópicos que estavam aqui neste dia: 07/12/2008, neste horário: 22:11:56 e neste local." - Henrique Ferreira da Silva
"O negócio de software é binário, você é 1 ou 0, vivo ou morto." - Filme Ameaça Virtual
"Existem 10 tipos de pessoas no mundo: as que entendem binário e as que não entendem."
"Compartilhar conhecimentos é uma forma de alcançar a imortalidade." - Dalai Lama
"Aquele que pergunta é um tolo por cinco minutos, mas aquele que não pergunta permanece um tolo para sempre." - Provérbio Chinês
"O topo da inteligência é alcançar a humildade." - Textos Judaicos
"Os computadores são incrivelmente rápidos, precisos e burros; Os homens são incrivelmente lentos, imprecisos e brilhantes; Juntos, seus poderes ultrapassam os limites da imaginação." - Albert Einstein
/**
*
* Programador Java
* @author Henrique Ferreira da Silva
* @since Julho/2010
*
*/ |
|
|
 |
|
|
|
|