黑马程序员技术交流社区

标题: 如何讲一个字符串反转? [打印本页]

作者: 青春是你的烟火    时间: 2015-7-31 23:43
标题: 如何讲一个字符串反转?
如何讲一个字符串反转?

作者: 一枚小小媛    时间: 2015-7-31 23:44
①先变成一个char[] 数组
②然后使用数组的方法 反转里面的元素
③再toString变成字符串
作者: 陈冬雪    时间: 2015-7-31 23:45
已经不知道怎么形容了,给学霸点赞吧
作者: 青春是你的烟火    时间: 2015-7-31 23:47
陈冬雪 发表于 2015-7-31 23:45
已经不知道怎么形容了,给学霸点赞吧

为啥提交不了代码呢?
作者: 陈冬雪    时间: 2015-7-31 23:49
青春是你的烟火 发表于 2015-7-31 23:47
为啥提交不了代码呢?

不能啊,我刚刚提交的
作者: 一枚小小媛    时间: 2015-7-31 23:52
  1. package demo;

  2. /**
  3. * @author 小媛
  4. * 需求:字符串反转
  5. * 思路:
  6. * ①字符串变成char[]
  7. * ②使用遍历,将char[] 元素反转
  8. * ③再次将char[]变回字符串即可
  9. */
  10. public class StringReplace {
  11.         public static void main(String[] args) {
  12.                 String str = "abcdefg";
  13.                 char[] ch = str.toCharArray();

  14.                 for (int i = 0; i < ch.length / 2; i++) {
  15.                         char temp = ch[i];
  16.                         ch[i] = ch[ch.length - 1 - i];
  17.                         ch[ch.length - 1 - i] = temp;
  18.                 }
  19.                
  20.                 str = String.valueOf(ch);
  21.                 System.out.println(str);
  22.         }
  23. }
复制代码

作者: 青春是你的烟火    时间: 2015-7-31 23:52
一枚小小媛 发表于 2015-7-31 23:44
①先变成一个char[] 数组
②然后使用数组的方法 反转里面的元素
③再toString变成字符串 ...

图片,附件这样的方法可行?

2015-07-31_235032.png (179.19 KB, 下载次数: 61)

2015-07-31_235032.png

作者: 青春是你的烟火    时间: 2015-7-31 23:56
一枚小小媛 发表于 2015-7-31 23:52

为啥我发代码就不让发呢?
作者: hellojavacode    时间: 2015-8-1 00:15
利用stringbuffer,然后调用stringbuffer的输出语句,直接就是反转输出。
作者: 段燚涛    时间: 2015-8-1 13:57
本帖最后由 段燚涛 于 2015-8-1 14:01 编辑

楼主你好,很高兴回答你的问题。
你的问题其实有很便捷的解决方法:
思路是:
①把字符串变为StringBuilder对象
②使用StringBuilder对象的reverse()方法使其反转。
③调用StringBuilder对象的toString()方法
实例:
  1. String str = "this is a string";
  2. StringBuilder sb = new StringBuilder(str);
复制代码

QQ截图20150801135944.png (11.84 KB, 下载次数: 66)

QQ截图20150801135944.png

作者: 欧杰    时间: 2015-8-1 16:09
StringBuffer sb = new StringBuffer();                 sb.reverse();                 System.out.println(sb);
作者: 小丑    时间: 2015-8-1 16:39
  1.         public static void main(String[] args) {
  2.                 // 定义一个字符串
  3.                 String str = "abcde";
  4.                 // 定义一个新的字符串
  5.                 String s = "";
  6.                 // 循环得到每一个字符并存储到新串中,每存储一次就在后面加上上一次存储的数据
  7.                 for (int x = 0; x < str.length(); x++) {
  8.                         s = str.charAt(x) + s;
  9.                 }
  10.                 // 将反转后的字符串打印到控制台
  11.                 System.out.println(s);
  12.         }
复制代码

作者: 致远czy    时间: 2015-8-1 17:56
StringBuffer 的reverse方法就可以实现反转功能啊
作者: 曾云鹏    时间: 2015-8-1 18:12
StringBuffer里有个reverse功能
作者: 天地一沙鸥    时间: 2015-8-1 18:41
几种方法都可以实现的,LS基本都说的差不多了。
要么转换为字符数组然后遍历取反。
要么转换为StringBuffer类型,直接调用它的reverse()方法,再把StringBuffer类型转换回字符串。
作者: T-l-H、小生    时间: 2015-8-1 18:45
楼上正解。




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