Oi pessoal… estou tentando colocar meu nome na ordem inversa e ta dando erro já tentei vários modos para tentar fazer isso e não consigo se alguem pudesse me dar uma dica ficaria grato…
public static void main(String[] args) {
String aux ;
O que pude ver de cara é que seu for está indo do início ao fim, e não o contrário, portanto seu nome deve estar sendo impresso de forma normal. Tente substituir o seu for por este:
for(inti=aux.length(); i > 0; i--)
deve resolver.
Poste seu código sempre com a tag de code, ajuda a leitura do código.
Marlon_Meneses
dessa forma vai gerar um ArrayOutOfBoundsException
o certo seria o tamanho - 1 com o flag >= 0 pq se nao for assim entao se por exemplo existir 4(0,1,2,3) posicoes entao ele vai começar da posicao 4, ocasionado o erro!
entendeu?
V
VictorFarion
Marlon Meneses:
se for somente pra exibir invertido entao ai vai
for (int i=aux.length() - 1; i >= 0 ; i–){
System.out.println(aux.charAt(i));
}
Muito Obrigado dessa forma deu certo eu ainda não aprendi muita coisa mas estou estudando… vc pode me dizer bem simples o por que usando dessa forma: “System.out.println(aux.charAt(i));” funciona e dessa não: "for (int i=aux.length(); i > 0; i–) " ??
Marlon_Meneses
pq acontece assim:
em uma array d por exemplo 4 posicoes (aux), o index começa por zero, entao teremos as posicoes 0,1,2,3
o comando aux.length() retorna o numero de posicoes de aux (4)
fazendo assim for (int i=aux.length(); i > 0; i–), ‘i’ vai apontar por index 4 do array aux cujo nao existe e entao vai acontecer o erro logo no inicio
entendeu?
rodrigo.bossini
Usa uma stringbuilder, assim:
importjavax.swing.JOptionPane;classTeste{publicstaticvoidmain(Stringargs[]){Stringaux=JOptionPane.showInputDialog("Digite o nome:");StringBuildersb=newStringBuilder(aux);aux=sb.reverse().toString();JOptionPane.showMessageDialog(null,"Nome inverso: "+aux,"Resultado:",JOptionPane.INFORMATION_MESSAGE);}}
V
VictorFarion
Marlon Meneses:
rodpuc:
for(inti=aux.length(); i > 0; i--)
dessa forma vai gerar um ArrayOutOfBoundsException
o certo seria o tamanho - 1 com o flag >= 0 pq se nao for assim entao se por exemplo existir 4(0,1,2,3) posicoes entao ele vai começar da posicao 4, ocasionado o erro!
entendeu?
Sim Sim entendi sim muito obrigado pela ajuda. Agradeço muito pela ajuda.
V
VictorFarion
rod.attack:
Usa uma stringbuilder, assim:
importjavax.swing.JOptionPane;classTeste{publicstaticvoidmain(Stringargs[]){Stringaux=JOptionPane.showInputDialog("Digite o nome:");StringBuildersb=newStringBuilder(aux);aux=sb.reverse().toString();JOptionPane.showMessageDialog(null,"Nome inverso: "+aux,"Resultado:",JOptionPane.INFORMATION_MESSAGE);}}
nossa muito bacana essa forma de fazer muito obrigado gostei mto desse jeito de fazer coloquei pra rodar muito obrigado agradeço a tua ajuda e de todos.
rodrigo.bossini
VictorFarion:
rod.attack:
Usa uma stringbuilder, assim:
importjavax.swing.JOptionPane;classTeste{publicstaticvoidmain(Stringargs[]){Stringaux=JOptionPane.showInputDialog("Digite o nome:");StringBuildersb=newStringBuilder(aux);aux=sb.reverse().toString();JOptionPane.showMessageDialog(null,"Nome inverso: "+aux,"Resultado:",JOptionPane.INFORMATION_MESSAGE);}}
nossa muito bacana essa forma de fazer muito obrigado gostei mto desse jeito de fazer coloquei pra rodar muito obrigado agradeço a tua ajuda e de todos.
Hehehe, dá uma olhada na API das StringBuilder e StringBuffer. Você vai gostar delas. :)