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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Piaoyu 中级黑马   /  2015-1-3 20:58  /  1258 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

主函数中直接调用调用方法。reverseString();

  1. /**
  2.          * 1.将字符串变成数组
  3.          * 2.对数组反转
  4.          * 3.将数组变成字符串
  5.          */
  6.         public static String reverseString(String str2){
  7.                 //字符串变数组
  8.                 char[] chs = str2.toCharArray();
  9.                
  10.                 //反转字符串
  11.                 reverse(chs);
  12.                
  13.                 return new String(chs);
  14.                
  15.         }
  16.         /**
  17.          * 反转字符串
  18.          * @param str2
  19.          */
  20.         private static void reverse(char[] arr ) {
  21.                 for(int start = 0,end = arr.length-1;start<end;start++,end--){
  22.                         swap(arr,start,end);
  23.                 }
  24.                
  25.         }
  26.         //交换字符位置
  27.         private static void swap(char[] arr, int start, int end) {
  28.                 char temp = arr[start];
  29.                 arr[start] = arr[end];
  30.                 arr[end]=temp;
  31.                
  32.         }
复制代码

以前没怎么敲过类似的代码,总感觉理解的有点模糊呢!!?

11 个回复

倒序浏览
不给吃鸭梨 来自手机 中级黑马 2015-1-3 21:14:26
沙发

回帖奖励 +1

多敲一敲吧,加深了映像就好了。
回复 使用道具 举报
这个应该不是很难理解吧,获取字符串之后,将还字符串转化为字符数组,对数组进行反转操作,之后又转化为字符串啊
回复 使用道具 举报
我是来围观大神的
回复 使用道具 举报
代码真的只有多写才能学会!
回复 使用道具 举报
哪里有问题指出来你说的太泛泛,没法帮你解决问题。
回复 使用道具 举报
藤椅正解……
回复 使用道具 举报
多敲几遍就好了
回复 使用道具 举报
谢谢大家的意见,没太懂的原因正如大家说的,需要多敲几次。视频中毕老师也提到过,不要用eclipse敲代码,今天争取用记事本再重新敲一遍。
回复 使用道具 举报
些许理解的就是for循环中,对于数组下标的控制,
假设【8】
交换规则为:0(start)--7(end--arr.length-1),0+1(statt+1)--7-1(end-1)....
数组的中间部分考虑:偶数8:【3】--【4】  奇数7:【3】不交换
判断语句:start<end  对于偶数、奇数的最终判断都是合理的
【8】:最后为3--4交换,再次循环失败,全部交换位置
【7】:最后为2-4交换,再次循环失败,【3】保留位置不变
回复 使用道具 举报
開忄 发表于 2015-1-4 10:51
些许理解的就是for循环中,对于数组下标的控制,
假设【8】
交换规则为:0(start)--7(end--arr.length-1), ...

谢谢..:)
回复 使用道具 举报
这个不错.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马