下面是三种不同方法实现字符串反转的方法:
    

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Reverse {

     public static void  main(String[] args) throws IOException  
   {    
    String  str;    
    BufferedReader bufReader = new BufferedReader(  
               new InputStreamReader(System.in));  
    System.out.print( "请输入字符串:");  
    str = bufReader.readLine();
                
   char[] ch = str.toCharArray();    
   char[]b;    
   b = new char[ch.length];    
   for( int i=0; i   {    
     b[i] = ch[ch.length-1-i];    
   }    
   for( int i=0; i   {    
   System.out.print(b[i]);    
   }    
   /*就地逆置    
   char   temp;    
   for   (int   i=0;   i   {    
   temp   =   ch[i];    
   ch[i]=ch[ch.length-1-i];    
   ch[ch.length-1-i]   =   temp;    
   }    
      
   for   (int   i=0;   i   {    
   System.out.print(ch[i]);    
   }*/
    
      
   /*利用栈来实现    
   Stack   st   =   new   Stack();    
   for   (int   i=0;   i   {    
   st.push(ch[i]);    
   }    
   for   (int   i=0;   i   {    
   System.out.println(st.pop());    
   }*/
    
   }    

}
 
   又一个字符串反转程序,其中两个函数实现的结果不同:
 
public class Reverse2 {

     static String str = "I am a student";
   public static void main(String []args){
      back1();
      back2(); 
  }
  
   public static void back1(){  
       String []str2 = str.split( " ");
       for( int i=str2.length-1;i>=0;i--){    
          System.out.println(str2[i]+ " ");
      }    
   }

   public static void back2(){
     char []c = str.toCharArray();
      char []temp = new char[c.length];
     for( int i=0,j=c.length-1;i      temp[j]=c[i];
    }
     System.out.println(temp);
   }
}