trabalho de escola né? ninguem vai escrever o código pra vc… e vc ja tem os métodos… acho que não tem muito segredo
o array palavra[] se encontra em uma classe portugues e uma classe ingles… nele vc coloca as palavras e usa os métodos adicionar, remover e consultar pra manipular as palavras dele
e dae no método principal vc cria a classe dicionario com os metodos pra traduzir com acesso às classes portugues e ingles…
O
O_Mosca
Ok, mas não é exatamente dessa forma como vc informou não, mas valeu pela dica.
Vitoriano
Se não me engano no java tem uma opção que você defini as palavras de acordo com a lingua básica, mudando de acordo com a JRE instalada no pc.
Vou procurar e volto responder
henriqueluz
Seja mais claro e diga quais são as suas dúvidas.
honurb
Fala aí mosca…
Kara vc quer fazer um tradutor tipo de um texto inteiro ou de apenas algumas palavras???
Pq para ser um bom tradutor de texto é complicado… você já viu como funciona o tradutor do google???
Ele consulta zilhões de documentos traduzidos para comparar e de pois gerar a tradução…(e ainda assim naum é perfeito).
Se for apenas de algumas palavras tenta fazer assim:
Crie uma classe Dicionario para preencher os arrays com as palavras:
importjava.util.ArrayList;/** * * @author honurb */publicclassDicionario{privateArrayList<String>palavrasIngles;//Guarda as palavras em InglêsprivateArrayList<String>palavrasPortugues;//Guarda as palavras em PortuguêspublicDicionario(){palavrasIngles=newArrayList<String>();palavrasPortugues=newArrayList<String>();}//Para prenecher nosso Dicionário temos que colocar a palavra em Potuguês// e a Palavra equivalente em Inglês.//Assim a palavra e sua tradução fica sempre com o mesmo Nº de índice. publicvoidpreencheDicionario(StringpalavraPort,StringpalavraIng){palavrasPortugues.add(palavraPort);palavrasIngles.add(palavraIng);}publicArrayListgetArrayPalavrasIng()//retorna Array de palavras em Inglês {returnpalavrasIngles;}publicArrayListgetArrayPalavrasPort()//retorna array de palavras em Português{returnpalavrasPortugues;}}
Depois crie uma classe Tradutor para logicamente traduzir as palavras:
importjava.util.ArrayList;/** * * @author honurb */publicclassTradutor{publicStringtraduzIngles_Portugues(Stringpalavra)//traduz palavra do inglês para Português{Stringtraducao="Palavra não encontrado no diconário";Dicionariodicio=newDicionario();ArrayList<String>palavrasIng=dicio.getArrayPalavrasIng();//Nosso array com palavras em InglêsArrayList<String>palavrasPort=dicio.getArrayPalavrasPort();//Nosso array com palavras em Portuguêsfor(inti=0;i<palavrasIng.size();i++){if(palavrasIng.get(i).equals(palavra))//Compara se a palavra é igual{intindice=i;//Guarda o índice para podermos procurar no array com palavras em portuguêsi=palavrasIng.size();//Deixa a variável i maior que o tamanho do array para sairmos do fortraducao=palavrasPort.get(indice);}}System.out.println(traducao);returntraducao;}publicStringtraduzPortugues_Ingles(Stringpalavra)//traduz palavra do Português para Inglês{Stringtraducao="Palavra não encontrado no diconário";Dicionariodicio=newDicionario();ArrayList<String>palavrasIng=dicio.getArrayPalavrasIng();//Nosso array com palavras em InglêsArrayList<String>palavrasPort=dicio.getArrayPalavrasPort();//Nosso array com palavras em Portuguêsfor(inti=0;i<palavrasPort.size();i++){if(palavrasPort.get(i).equals(palavra))//Compara se a palavra é igual{intindice=i;//Guarda o índice para podermos procurar no array com palavras em Inglêsi=palavrasPort.size();//Deixa a variável i maior que o tamanho do array para sairmos do fortraducao=palavrasIng.get(indice);}}System.out.println(traducao);returntraducao;}}
Atente-se nos comentário que coloquei para entender a lógica do código…
Até mais…
henriqueluz
honurb,
Acredito que seja melhor utilizar uma abordagem de uma classe Palavra onde conteria a palavra e sua tradução.
Assim não precisaria criar dois ArrayLists e preenche-los.
Eu faria algo do tipo:
publicclassPalavra{privateStringportugues;privateStringingles;publicPalavra(Stringportugues,Stringingles){this.portugues=portugues;this.ingles=ingles;}publicStringgetPortugues(){returnportugues;}publicvoidsetPortugues(Stringportugues){this.portugues=portugues;}publicStringgetIngles(){returningles;}publicvoidsetIngles(Stringingles){this.ingles=ingles;}//Importante implementar os métodos equals e hashCode}
Classe Dicionário:
packagebean;importjava.util.Set;publicclassDicionario{/* Utilizando interface Set, pois a mesma não permite adicionar palavras repetidas */privateSet<Palavra>palavras;publicDicionario(Set<Palavra>palavras){this.palavras=palavras;}publicvoidadicionar(Palavrapalavra){this.palavras.add(palavra);}publicBooleanremover(Stringpalavra){returnpalavras.remove(palavra);}publicPalavraconsultar(Stringpalavra){for(Palavrap:palavras){if(p.getPortugues().equals(palavra)||p.getIngles().equals(palavra)){returnp;}}returnnull;}publicSet<Palavra>getPalavras(){returnpalavras;}publicvoidsetPalavras(Set<Palavra>palavras){this.palavras=palavras;}}
Tradutor:
publicclassTradutor{
privateDicionariodicionario;publicTradutor(Dicionariod){
this.dicionario=d;}
publicDicionariogetDicionario(){
returndicionario;}
publicvoidsetDicionario(Dicionariodicionario){
this.dicionario=dicionario;}
publicStringtraduzirParaIngles(Stringpalavra){
Palavrap=dicionario.consultar(palavra);if(p!=null){
returnp.getIngles(); }return"Tradução não encontrada!";}
publicStringtraduzirParaPortugues(Stringpalavra){
Palavrap=dicionario.consultar(palavra);if(p!=null){
returnp.getPortugues(); }return"Tradução não encontrada!";}
}
e pensa que antigamente para se conseguir código pronto ao menos era necessário criar um perfil fake com nome femenino… o povo sem noção (não to nem reclamando de quem pede para fazer os seus trabalhos da facudade, estou reclamando de quem faz mesmo).
honurb
riqueluz:
honurb,
Acredito que seja melhor utilizar uma abordagem de uma classe Palavra onde conteria a palavra e sua tradução.
Assim não precisaria criar dois ArrayLists e preenche-los.
Muito bom… além de parecer mais simples me parece mais eficiente a sua abordagem.
O legal da programação é isso, as vezes vc pensa numa solução e percebe q algo mais simples resolve todos seus problemas. :lol:
O
O_Mosca
honurb:
Fala aí mosca…
Kara vc quer fazer um tradutor tipo de um texto inteiro ou de apenas algumas palavras???
Pq para ser um bom tradutor de texto é complicado… você já viu como funciona o tradutor do google???
Ele consulta zilhões de documentos traduzidos para comparar e de pois gerar a tradução…(e ainda assim naum é perfeito).
(…)
Valeu pela dica cara, me ajudou muito. Forum é pra isso mesmo pra tirar duvidas e ajudar- nos uns aos outros.