黑马程序员技术交流社区

标题: 分享一个将字符串反转的小程序 [打印本页]

作者: 胡高德    时间: 2012-12-6 22:11
标题: 分享一个将字符串反转的小程序
/*
1,将字符串中进行反转。abcde --> edcba
思考:以前我们做过数组的反转   一个字符串可不可以变成数组
分析:1.字符串怎样可能变成数组  
      2.将数组的元素进行反转
   3.将一个数组在变成字符串
步骤 1. 字符串--->数组   getBytes()   toCharArray();
   2. 数组中的头尾元素交换
   3. 要将byte数组转换成字符串  构造方法   
      要将char数组转换成字符串   valueOf    构造   
*/
class Test2
{
public static void main(String[] args)
{
  String s="abcde";
  char[] ch=stringToCharArray(s);
  reverseCharArray(ch);
  String rs=charArrayToString(ch);
  
  System.out.println(rs);
}
//要将char数组变成字符串
//参数: 要转换char数组
//返回值:得到的字符串
public static String charArrayToString(char[] ch){
  
  //使用valueOf
  //return String.valueOf(ch);
  //使用构造方法
  return new String(ch);
}

//将数组中的元素进行反转
//参数:要操作的数组
//返回值:void
public static void reverseCharArray(char[] ch){

  for(int i=0,j=ch.length-1;i<j;i++,j--){
   
   //要将i,j位置上的元素交换
   swap(ch,i,j);
  }
}
//将数组中的指定位置上的元素交换
private static void swap(char[] ch,int i,int j){
  
  char c=ch[i];
  ch[i]=ch[j];
  ch[j]=c;
}

//将一个字符串转换成char数组
//参数:要操作的字符串
//返回值:char数组
public static char[] stringToCharArray(String s){
  
  return s.toCharArray();
}
}


作者: 许庭洲    时间: 2012-12-7 07:41
值得学习ing!
作者: 刘子义    时间: 2012-12-7 14:03
共同学习。我通常都这么干
String s="abcde";
StringBuffer sb = new StringBuffer(s);
System.out.println(sb.reverse().toString());
作者: super_Xiong    时间: 2012-12-7 21:03
这个不是和毕老师的那个视频差不多嘛




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2