黑马程序员技术交流社区
标题:
倒序字符串,有点没懂
[打印本页]
作者:
Piaoyu
时间:
2015-1-3 20:58
标题:
倒序字符串,有点没懂
主函数中直接调用调用方法。reverseString();
/**
* 1.将字符串变成数组
* 2.对数组反转
* 3.将数组变成字符串
*/
public static String reverseString(String str2){
//字符串变数组
char[] chs = str2.toCharArray();
//反转字符串
reverse(chs);
return new String(chs);
}
/**
* 反转字符串
* @param str2
*/
private static void reverse(char[] arr ) {
for(int start = 0,end = arr.length-1;start<end;start++,end--){
swap(arr,start,end);
}
}
//交换字符位置
private static void swap(char[] arr, int start, int end) {
char temp = arr[start];
arr[start] = arr[end];
arr[end]=temp;
}
复制代码
以前没怎么敲过类似的代码,总感觉理解的有点模糊呢!!?
作者:
不给吃鸭梨
时间:
2015-1-3 21:14
多敲一敲吧,加深了映像就好了。
作者:
lwj123
时间:
2015-1-3 21:16
这个应该不是很难理解吧,获取字符串之后,将还字符串转化为字符数组,对数组进行反转操作,之后又转化为字符串啊
作者:
只会金克斯
时间:
2015-1-3 21:21
我是来围观大神的
作者:
lnscore
时间:
2015-1-3 21:21
代码真的只有多写才能学会!
作者:
FINE
时间:
2015-1-3 21:42
哪里有问题指出来你说的太泛泛,没法帮你解决问题。
作者:
reyzarc
时间:
2015-1-3 23:14
藤椅正解……
作者:
Zoe19128
时间:
2015-1-3 23:32
多敲几遍就好了
作者:
Piaoyu
时间:
2015-1-4 10:10
谢谢大家的意见,没太懂的原因正如大家说的,需要多敲几次。视频中毕老师也提到过,不要用eclipse敲代码,今天争取用记事本再重新敲一遍。
作者:
開忄
时间:
2015-1-4 10:51
些许理解的就是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】保留位置不变
作者:
Piaoyu
时间:
2015-1-4 14:05
開忄 发表于 2015-1-4 10:51
些许理解的就是for循环中,对于数组下标的控制,
假设【8】
交换规则为:0(start)--7(end--arr.length-1), ...
谢谢..:)
作者:
dede风
时间:
2015-1-4 15:47
这个不错.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2