Olá pessoal!
Qual é o classe.método que faz a inversao do conteudo de uma variável string?
[quote=hsecco]Olá pessoal!
Qual é o classe.método que faz a inversao do conteudo de uma variável string?[/quote]
Creio que na String não tenha um método assim, só se tiver em alguma classe que possa trabalhar com uma String convertida para o tipo da classe.
Mas dá pra fazer isso “na mão”, converte a String para um array de char com o método toCharArray() e depois vc pode empilhar cada caractere e depois desempilhar que fica invertido, assim é só converter pra String de novo.
Usa StringBuilder.reverse().
String s = "TEXTO";
String invertida = "";
for (int i = s.length(); i < 0; i++) {
invertida += s.charAt(i);
}
System.out.println(invertida);
É mais fácil assim:
String s = "TEXTO";
String invertida = new StringBuilder(s).reverse().toString();
[quote=ViniGodoy]É mais fácil assim:
String s = "TEXTO";
String invertida = new StringBuilder(s).reverse().toString();
[/quote]
Sim…com certeza StringBuilder é a melhor solução.
Mas é sempre bom mostrar que com um comando fácil, é possível fazer o que se quer. Não é preciso conhecer TODOS os métodos e facilidades da linguagem, apenas saber onde usar o seu conhecimento.
Obs.: Caramba…falei bonito agora!
O problema é só a performance miserável de se usar += numa String dentro de um for.
[quote=claudneto]Sim…com certeza StringBuilder é a melhor solução.
Mas é sempre bom mostrar que com um comando fácil, é possível fazer o que se quer. Não é preciso conhecer TODOS os métodos e facilidades da linguagem, apenas saber onde usar o seu conhecimento.[/quote]
[quote=claudneto]String s = "TEXTO";
String invertida = "";
for (int i = s.length(); i < 0; i++) {
invertida += s.charAt(i);
}
System.out.println(invertida);
[/quote]
Olha, sua intenção foi boa, mas além do que o Vini disse a respeito de performance em concatenação de Strings, seu código tá errado. Do jeito que está só vai imprimir uma string em branco.
String s = "TEXTO";
String invertida = "";
for (int i = s.length()-1; i >= 0; i--) {
invertida += s.charAt(i);
}
System.out.println(invertida);
Abraço.