黑马程序员技术交流社区
标题:
给定字符串,实现字符串局部或者全部反转?今天刚学...
[打印本页]
作者:
LoveMyself
时间:
2015-5-24 01:15
标题:
给定字符串,实现字符串局部或者全部反转?今天刚学...
本帖最后由 LoveMyself 于 2015-5-24 01:21 编辑
public class Reverse {
/**
* 将指定部分字符串反转 ||将数组全部反转
* 实现步骤:1、将字符串转换为数组形式
* 2、将数组元素反转
* 3、将数组转换为字符串
*/
public static void main(String[] args) {
//声明创建字符串
String str = "uoyevoli";
//将给定字符串指定位置反转
printMethod(reverseMethod(str, 0, 3));
//将给定字符串全部反转
printMethod(reverseMethod(str));
}
//将字符串指定位置反转
private static String reverseMethod(String str,int start,int end) {
//将字符串转换为数组
char[] ch = str.toCharArray();
//将数组反转
reverse(ch,start,end);
//将数组转换成字符串
return new String(ch);
}
//将字符串全部反转
public static String reverseMethod(String str)
{
//调用将数组指定位置反转的方法,改变反转的范围,即得到整体反转的方法
return reverseMethod(str,0,str.length()-1);
}
private static void reverse(char[] ch, int x, int y) {
for(int start=x,end =y-1;start < end;start++,end--)
{
//调用反转方法
swap(ch,start,end);
}
}
//每次交换字符位置达到反转的目的
private static void swap(char[] ch, int start, int end) {
char temp = ch[start];
ch[start] = ch[end];
ch[end]= temp;
}
//打印方法
public static void printMethod(Object obj)
{
System.out.println(obj);
}
}
复制代码
其实,字符串的反转,就是将字符串中位置对称的元素互换位置,就好比是你在纸上写“你爱我”;
然后,再将纸反过来从背面看变成“我爱你”是一样的!
作者:
李志鹏
时间:
2015-5-24 16:47
不错,顶一个
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2