package wjoker;
import java.util.Scanner;
public class ReversalString {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str = null;
StringBuffer strB = null;
System.out.println("请输入字符串");
str = s.next();
str = str.trim();
strB = new StringBuffer(str);
//Recersal_1(strB);
//Recersal_2(strB);
Recersal_3(strB);
str = strB.toString();
System.out.println("逆转后");
System.out.println(str);
}
public static void Recersal_1(StringBuffer s){//借助临时变量
int i, length = s.length();
char tmp;
for(i=0;i<(length/2);i++){
tmp = s.charAt(i);
s.setCharAt(i, s.charAt(length-1-i)) ;
s.setCharAt(length-1-i, tmp);
}
}
public static void Recersal_2(StringBuffer s){//a = a + b ;b = a - b ;a = a - b;
int i, length = s.length();
for(i=0;i<(length/2);i++){
s.setCharAt(i, (char) (s.charAt(i) + s.charAt(length - 1 - i)));
s.setCharAt(length - 1 - i, (char) (s.charAt(i)-s.charAt(length - 1 - i)));
s.setCharAt(i, (char) (s.charAt(i) - s.charAt(length- 1 - i)));
}
}
public static void Recersal_3(StringBuffer s) {//a = a ^ b; b = a ^ b; a = a ^ b;
int i, length = s.length();
for(i=0;i<(length/2);i++){
s.setCharAt(i, (char) (s.charAt(i) ^ s.charAt(length - 1 - i)));
s.setCharAt(length - 1 - i, (char) (s.charAt(i) ^ s.charAt(length - 1 - i)));
s.setCharAt(i, (char) (s.charAt(i) ^ s.charAt(length - 1 - i)));
}
}
}
import java.util.Scanner;
public class ReversalString {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str = null;
StringBuffer strB = null;
System.out.println("请输入字符串");
str = s.next();
str = str.trim();
strB = new StringBuffer(str);
//Recersal_1(strB);
//Recersal_2(strB);
Recersal_3(strB);
str = strB.toString();
System.out.println("逆转后");
System.out.println(str);
}
public static void Recersal_1(StringBuffer s){//借助临时变量
int i, length = s.length();
char tmp;
for(i=0;i<(length/2);i++){
tmp = s.charAt(i);
s.setCharAt(i, s.charAt(length-1-i)) ;
s.setCharAt(length-1-i, tmp);
}
}
public static void Recersal_2(StringBuffer s){//a = a + b ;b = a - b ;a = a - b;
int i, length = s.length();
for(i=0;i<(length/2);i++){
s.setCharAt(i, (char) (s.charAt(i) + s.charAt(length - 1 - i)));
s.setCharAt(length - 1 - i, (char) (s.charAt(i)-s.charAt(length - 1 - i)));
s.setCharAt(i, (char) (s.charAt(i) - s.charAt(length- 1 - i)));
}
}
public static void Recersal_3(StringBuffer s) {//a = a ^ b; b = a ^ b; a = a ^ b;
int i, length = s.length();
for(i=0;i<(length/2);i++){
s.setCharAt(i, (char) (s.charAt(i) ^ s.charAt(length - 1 - i)));
s.setCharAt(length - 1 - i, (char) (s.charAt(i) ^ s.charAt(length - 1 - i)));
s.setCharAt(i, (char) (s.charAt(i) ^ s.charAt(length - 1 - i)));
}
}
}