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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 酱悠先生 于 2014-4-12 20:11 编辑

反转字符串,"hello c sharp"反转为“olleh c prahs”

5 个回复

倒序浏览
本帖最后由 鲤鱼 于 2014-4-12 21:28 编辑

= =表示没审题{:3_65:} 还是坐个沙发好了
回复 使用道具 举报
StringBuffer里面有直接有反转的方法
  1. package day13;

  2. public class ReverseString {
  3.        
  4.        
  5.         public static void main(String[] args) {
  6.                 String s="abcde";
  7.                 sop(reverse(s));
  8.         }
  9. static String         reverse (String s)
  10. {
  11.         return reverse(s,0,s.length());
  12. }
  13.        
  14. static String reverse(String s,int start,int end )
  15. {
  16.          char[] ch=s.toCharArray();
  17.          for(int i=start, j=end-1;i<j;i++,j--)
  18.                 swap(ch,i,j);
  19.          return  new String(ch);
  20. }
  21.        
  22.         private static void swap(char[] c,int x,int y) {
  23.          char temp;
  24.          temp=c[x];
  25.          c[x]=c[y];
  26.          c[y]=temp;
  27.        
  28. }

  29.         static void sop(Object obj)
  30.         {
  31.                 System.out.println(obj);
  32.         }
  33. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
  1. class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             string s = null;
  6.             char[] charArray;
  7.             char temp = ' ';
  8.             string str = "hello c sharp";
  9.             string[] strArray = str.Split(' ');//把str这个字符串以空格为分隔符分开,strArray={hello,c,sharp}
  10.             for (int i = 0; i < strArray.Length; i++)
  11.             {
  12.                 charArray = strArray[i].ToCharArray();//把strArray的每一个元素变为char数组,{h,e,l,l,o},{c},{s,h,a,r,p}
  13.                 for (int j = 0; j < charArray.Length / 2; j++)//交换charArray[j]里的位置,交换次数为小于长度的一半
  14.                 {
  15.                     temp = charArray[j];
  16.                     charArray[j] = charArray[charArray.Length - 1 - j];
  17.                     charArray[charArray.Length - 1 - j] = temp;  
  18.                 }
  19.                 foreach (char c in charArray)
  20.                 {
  21.                     s += c;
  22.                 }
  23.                 Console.Write(s+" ");
  24.                 s = null;//将s清空,否则输出olleh ollehc ollehcprahs
  25.             }
  26.             Console.ReadKey();
  27.         }
  28.     }
复制代码
回复 使用道具 举报
  1.   string str = "01234 567234asdasdasl89";
  2.             char[] chr = new char[str.Length];
  3.             //定义一个字符串长度的char数组用来储存反序的各个字符的值
  4.             for (int i = str.Length - 1; i > 0; i--)
  5.             {
  6.                 chr[str.Length - i - 1] = str[i];//按倒序的顺序依次给char数组赋值
  7.             }
  8.             string result = new string(chr);//用chr[] 重新生成字符串
  9.             Console.WriteLine(result);
  10.             Console.ReadKey();
复制代码

希望给你做个参考
回复 使用道具 举报
Console.WriteLine("请输入你要测试的字符串");
            string str = Console.ReadLine();
            char[] ch = new char[str.Length];
            int k=0;
            for (int i = 0; i < str.Length; i++)
            {
                ch[k] = str[i];
                k++;
            }
            for (int j = 0; j < str.Length; j++)
            {
               k--;
               Console.Write(ch[k]);
            }
            Console.ReadKey();

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马