A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 LoveMyself 于 2015-5-24 01:21 编辑
  1. public class Reverse {
  2.         /**
  3.          * 将指定部分字符串反转  ||将数组全部反转
  4.          * 实现步骤:1、将字符串转换为数组形式
  5.          *           2、将数组元素反转
  6.          *           3、将数组转换为字符串
  7.          */
  8.         public static void main(String[] args) {
  9.      //声明创建字符串
  10.                 String str = "uoyevoli";
  11.                 //将给定字符串指定位置反转
  12.                 printMethod(reverseMethod(str, 0, 3));
  13.                 //将给定字符串全部反转
  14.                 printMethod(reverseMethod(str));
  15.         }
  16. //将字符串指定位置反转
  17.   private static String reverseMethod(String str,int start,int end) {
  18.         //将字符串转换为数组
  19.           char[] ch = str.toCharArray();
  20.         //将数组反转
  21.           reverse(ch,start,end);
  22.         //将数组转换成字符串
  23.           return new String(ch);
  24.         }
  25.         //将字符串全部反转
  26.         public static String reverseMethod(String str)
  27.           {
  28.                 //调用将数组指定位置反转的方法,改变反转的范围,即得到整体反转的方法
  29.                 return reverseMethod(str,0,str.length()-1);
  30.           }
  31.         private static void reverse(char[] ch, int x, int y) {
  32.       for(int start=x,end =y-1;start < end;start++,end--)
  33.         {
  34.               //调用反转方法
  35.               swap(ch,start,end);
  36.         }               
  37.         }
  38.         //每次交换字符位置达到反转的目的
  39.         private static void swap(char[] ch, int start, int end) {
  40.                 char temp = ch[start];
  41.                 ch[start] = ch[end];
  42.                 ch[end]= temp;
  43.                
  44.         }
  45.         //打印方法
  46.         public static void printMethod(Object obj)
  47.         {
  48.                 System.out.println(obj);
  49.         }
  50. }
复制代码

其实,字符串的反转,就是将字符串中位置对称的元素互换位置,就好比是你在纸上写“你爱我”;然后,再将纸反过来从背面看变成“我爱你”是一样的!

1 个回复

倒序浏览
不错,顶一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马