黑马程序员技术交流社区
标题:
下面是一个数组反转的函数,封装函数时候,怎么确定什...
[打印本页]
作者:
张亚军
时间:
2013-8-5 12:53
标题:
下面是一个数组反转的函数,封装函数时候,怎么确定什...
本帖最后由 杨兴庭 于 2013-8-6 21:36 编辑
/*
* 需求:讲一个字符串反转
* 分析:1 先将字符串转化为数组
* 2 数组首尾进行交换
* 3将字符串转化为数组
* */
public class StringTest{
public static void main(String[] args) {//main方法
String s="123456789";
s=reserveString(s);
sop(s);
}
private static void sop( Object obj){//封装输出函数
System.out.println(obj);
}
private static String reserveString(String str){//数组进行反转
char [] arr=str.toCharArray();//转化为数组
reserve(arr);//反转数组
str=new String(arr); //数组转化为字符串
return str;
}
private static void reserve(char []arr){//封装反转函数:首尾交换
for (int start = 0,end=arr.length-1; start < end; start++,end--) {
swap(arr,start,end);
}
}
private static void swap(char []cha,int x,int y){//封装交换函数
char temp=cha[x];
cha[x]=cha[y];
cha[y]=temp;
}
}
作者:
手心里的温柔
时间:
2013-8-5 22:06
楼主是想说明什么呢?
作者:
心灵之歌
时间:
2013-8-6 09:38
private static String reserveString(String str){//数组进行反转
char [] arr=str.toCharArray();//转化为数组
reserve(arr);//反转数组
str=new String(arr); //数组转化为字符串
return str;
}
private static void reserve(char []arr){//封装反转函数:首尾交换
for (int start = 0,end=arr.length-1; start < end; start++,end--) {
swap(arr,start,end);
}
}
private static void swap(char []cha,int x,int y){//封装交换函数
char temp=cha[x];
cha[x]=cha[y];
cha[y]=temp;
}
这三个函数可以写成一个函数
private static String reserveString(String str)//数组进行反转
{
char [] arr=str.toCharArray();//转化为数组
for (int start = 0,end=arr.length-1; start < end; start++,end--)
{
char temp=arr[start];
cha[start]=cha[end];
cha[end]=temp;
}
}
这样就可以了!运行试试!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2