Olá Pessoal como faço para inverter uma String ?
tipo se eu tiver uma string “Java” ao inverter ficará “avaj”, se alguém puder me ajudar eu agradeço, 1 abraço
usa o metodo “reverse” da classe StringBuffer
valew pela dica os que postaram, mas estou postando o código onde tenho uma aplicação servidor, que lê uma string no caso linha, tenho que reverter, mas estou tendo dificuldades em compreender o método reverse, se alguém tiver algum exemplo eu agradeço.
import java.io.*;
import java.net.*;
public class ServidorDeEco {
public static void main(String args[]) {
try {
ServerSocket s = new ServerSocket(2000);
while (true) {
System.out.print("Esperando alguém se conectar...");
Socket conexao = s.accept();
System.out.println(" Conectou!");
BufferedReader entrada = new BufferedReader(new InputStreamReader(conexao.getInputStream()));
PrintStream saida = new PrintStream(conexao.getOutputStream());
String linha = entrada.readLine();
while (linha != null && !(linha.trim().equals(""))) {
saida.println("Eco: " + linha);
linha = entrada.readLine();
}
conexao.close();
}
}
catch (IOException e) {
System.out.println("IOException: " + e);
}
}
}
após ter inserido tudo o que for lido na string linha, instancie uma StringBuffer, coloque como parametro do construtor a string lida e use o metodo reverse.
Assim:
StringBuffer sb = new StringBuffer(linha);
sb.reverse();
System.out.println(sb);
Aparecerá na tela a string invertida.
Outra forma é usar o metodo charAt() da classe String. Quando a String linha estiver pronta, faça um looping invertido na string usando esse metodo.
[quote=“montanha”]valew pela dica os que postaram, mas estou postando o código onde tenho uma aplicação servidor, que lê uma string no caso linha, tenho que reverter, mas estou tendo dificuldades em compreender o método reverse, se alguém tiver algum exemplo eu agradeço.
[/quote]
Tome cuidado… o teu codigo nao esta fechando os readers e afins… isso pode te dar problemas uma hora.
Rafael
sei que a discussao já e bem antiga mais caso alguem esteja procurando ainda por essa resposta segue uma dica de como inverter uma string em java!
public class StringDemo {
public static void main(String[] args) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
char[] tempCharArray = new char[len];
char[] charArray = new char[len];
// put original string in an array of chars
for (int i = 0; i < len; i++) {
tempCharArray[i] = palindrome.charAt(i);
}
// reverse array of chars
for (int j = 0; j < len; j++) {
charArray[j] = tempCharArray[len - 1 - j];
}
String reversePalindrome = new String(charArray);
System.out.println(reversePalindrome);
}
}
Espero que ajude, qualquer duvida visitem o link para ver outras formas de manipular String em java!
http://stthiaggo.blogspot.com/2011/07/manipulando-strings-em-java.html