qual o método mais adequado.. para receber uma mensagem qualquer..
e em seguida, imprimir ela inversamente..tipo:
Java 2 Ensino Didático
ocitádiD onisnE 2 avaJ
tentei, usando o substring, imaginei que colocando um enorme número como inicial
e um número menor, ele iria imprimir do maior pro menor, só que não aconteceu.
desde ja fico grato!
packageCap4Exercicios;importjavax.swing.JOptionPane;publicclassExer003Pag95{publicstaticvoidmain(String[]args){Stringaux;aux=JOptionPane.showInputDialog(null,"Entre com uma frase qualquer:");JOptionPane.showMessageDialog(null,"frase digitada: "+aux+"\n"+"frase invertida: "+aux.substring(40,1));}}
o link não abre…
é que, estou lendo um livro… e até o momento os únicos metodos que conheço,
que pode ser trabalhado para resolução desse desafio são:
*length
*charAt
*substring
*replace
apenas esses…
wilsontads
esse código, se for usado assim roda:
packageCap4Exercicios;importjavax.swing.JOptionPane;publicclassExer004Pag95_DUVIDA{publicstaticvoidmain(String[]args){StringBufferaux=newStringBuffer("Mensagem a ser invertida");System.out.println(null,"frase invertida: "+aux.reverse());}}
mas, eu gostaria de usar o comando JOptionPane.
para que o usuário entrasse com uma frase qualquer, mas da erro..
vejam como ficou:
packageCap4Exercicios;importjavax.swing.JOptionPane;publicclassExer004Pag95_DUVIDA{publicstaticvoidmain(String[]args){StringBufferaux=newStringBuffer();aux=JOptionPane.showInputDialog(null,"Entre com uma frase qualquer:");// Nessa linha da erro.JOptionPane.showMessageDialog(null,"frase invertida: "+aux.reverse());}}
F
fringos_bringos
como apaga post?
F
fringos_bringos
Faz assim
String frase = JOptionPane.showInputDialog(null, "Entre com uma frase qualquer:");
StringBuffer sb = new StringBuffer(frase);
JOptionPane.showMessageDialog(null, "frase invertida: " + sb.reverse());
Como vc disse que ainda não aprendeu a usar o stringbuffer, vc poderia usar 2 strings, a 1ª que é a frase digitada pelo usuário, e a 2ª onde sairia a resposta, e ir usando o charAt dentro de uma estrutura de loop para inverter a frase.
exemplo:
importjavax.swing.JOptionPane;publicclassTeste{publicstaticvoidmain(Stringargs[]){Stringaux=JOptionPane.showInputDialog("Insira a frase");Stringresp="";for(inti=0;i<aux.length();i++){resp=resp+aux.charAt(aux.length()-i-1);}JOptionPane.showMessageDialog(null,resp);}}
na minha visão acho que essa é a resposta mais apropriada para os conhecimentos que você possui
EDIT - vc poderia usar a estrutura for iniciando i=aux.length-1; e ir diminuindo o valor de i até i=0; e dentro do charAt(), coloca só charAt(i), porém depende de como vc prefere
felipedamiani
KahhhXD:
Como vc disse que ainda não aprendeu a usar o stringbuffer, vc poderia usar 2 strings, a 1ª que é a frase digitada pelo usuário, e a 2ª onde sairia a resposta, e ir usando o charAt dentro de uma estrutura de loop para inverter a frase.
exemplo:
importjavax.swing.JOptionPane;publicclassTeste{publicstaticvoidmain(Stringargs[]){Stringaux=JOptionPane.showInputDialog("Insira a frase");Stringresp="";for(inti=0;i<aux.length();i++){resp=resp+aux.charAt(aux.length()-i-1);}JOptionPane.showMessageDialog(null,resp);}}
na minha visão acho que essa é a resposta mais apropriada para os conhecimentos que você possui
EDIT - vc poderia usar a estrutura for iniciando i=aux.length-1; e ir diminuindo o valor de i até i=0; e dentro do charAt(), coloca só charAt(i), porém depende de como vc prefere
Pra que programar o que já tem pronto?
publicclassInverteFrase{publicstaticvoidmain(String[]args){StringBufferb=newStringBuffer("Exemplo de uma frase");System.out.println(b.reverse().toString());}}
:D
K
KahhhXD
felipedamiani:
KahhhXD:
Como vc disse que ainda não aprendeu a usar o stringbuffer, vc poderia usar 2 strings, a 1ª que é a frase digitada pelo usuário, e a 2ª onde sairia a resposta, e ir usando o charAt dentro de uma estrutura de loop para inverter a frase.
exemplo:
importjavax.swing.JOptionPane;publicclassTeste{publicstaticvoidmain(Stringargs[]){Stringaux=JOptionPane.showInputDialog("Insira a frase");Stringresp="";for(inti=0;i<aux.length();i++){resp=resp+aux.charAt(aux.length()-i-1);}JOptionPane.showMessageDialog(null,resp);}}
na minha visão acho que essa é a resposta mais apropriada para os conhecimentos que você possui
EDIT - vc poderia usar a estrutura for iniciando i=aux.length-1; e ir diminuindo o valor de i até i=0; e dentro do charAt(), coloca só charAt(i), porém depende de como vc prefere
Pra que programar o que já tem pronto?
publicclassInverteFrase{publicstaticvoidmain(String[]args){StringBufferb=newStringBuffer("Exemplo de uma frase");System.out.println(b.reverse().toString());}}
:D
eu coloquei essa opção para ele pq ele disse que não havia aprendido nd sobre stringbuffer ainda ;)
thiago.correa
KahhhXD:
Como vc disse que ainda não aprendeu a usar o stringbuffer, vc poderia usar 2 strings, a 1ª que é a frase digitada pelo usuário, e a 2ª onde sairia a resposta, e ir usando o charAt dentro de uma estrutura de loop para inverter a frase.
exemplo:
importjavax.swing.JOptionPane;publicclassTeste{publicstaticvoidmain(Stringargs[]){Stringaux=JOptionPane.showInputDialog("Insira a frase");Stringresp="";for(inti=0;i<aux.length();i++){resp=resp+aux.charAt(aux.length()-i-1);}JOptionPane.showMessageDialog(null,resp);}}
na minha visão acho que essa é a resposta mais apropriada para os conhecimentos que você possui
EDIT - vc poderia usar a estrutura for iniciando i=aux.length-1; e ir diminuindo o valor de i até i=0; e dentro do charAt(), coloca só charAt(i), porém depende de como vc prefere
Uma pequena melhoria no código
Stringaux=JOptionPane.showInputDialog("Insira a frase"); Stringresp=""; for(inti=(aux.length()-1); i>=0; i--){ resp+=aux.charAt(i); }JOptionPane.showMessageDialog(null,resp);
Se for para fins didáticos está aí o código, porém, se fores usar em um ambiente de produção, sugiro usar o método reverse das classes StringBuffer / StringBuilder como os colegas sugeriram!
packageCap4Exercicios;importjavax.swing.JOptionPane;publicclassExer004Pag95_DUVIDA{publicstaticvoidmain(String[]args){StringBufferaux=newStringBuffer("Mensagem a ser invertida");System.out.println(null,"frase invertida: "+aux.reverse());}}
mas, eu gostaria de usar o comando JOptionPane.
para que o usuário entrasse com uma frase qualquer, mas da erro..
vejam como ficou:
packageCap4Exercicios;importjavax.swing.JOptionPane;publicclassExer004Pag95_DUVIDA{publicstaticvoidmain(String[]args){StringBufferaux=newStringBuffer();aux=JOptionPane.showInputDialog(null,"Entre com uma frase qualquer:");// Nessa linha da erro.JOptionPane.showMessageDialog(null,"frase invertida: "+aux.reverse());}}
Bota um toString() para converter a StringBuffer em uma String e na linha 9 dá erro porque o JOptionPane retorna uma String:
packageCap4Exercicios;importjavax.swing.JOptionPane;publicclassExer004Pag95_DUVIDA{publicstaticvoidmain(String[]args){Stringretorno=JOptionPane.showInputDialog(null,"Entre com uma frase qualquer:");// ArrumeiStringBufferaux=newStringBuffer(retorno);JOptionPane.showMessageDialog(null,"frase invertida: "+aux.reverse().toString());// Adicionei um toString()}}
Testa aí.
:thumbup:
mcirqueira
Stringaux=JOptionPane.showInputDialog("Insira a frase");//ArmazenaoquousuáriodigitounavariávelauxStringresp="";for(inti=(aux.length()-1);i>=0;i--){//Enquantoiformaiorouinguala0,decrementa-oresp+=aux.charAt(i);//Nãoentendi...}JOptionPane.showMessageDialog(null,resp);//Mostraavariavelrespaousuário