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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如何讲一个字符串反转?

16 个回复

倒序浏览
①先变成一个char[] 数组
②然后使用数组的方法 反转里面的元素
③再toString变成字符串
回复 使用道具 举报
已经不知道怎么形容了,给学霸点赞吧
回复 使用道具 举报
陈冬雪 发表于 2015-7-31 23:45
已经不知道怎么形容了,给学霸点赞吧

为啥提交不了代码呢?
回复 使用道具 举报

不能啊,我刚刚提交的
回复 使用道具 举报
  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:44
①先变成一个char[] 数组
②然后使用数组的方法 反转里面的元素
③再toString变成字符串 ...

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

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

2015-07-31_235032.png
回复 使用道具 举报

为啥我发代码就不让发呢?
回复 使用道具 举报
利用stringbuffer,然后调用stringbuffer的输出语句,直接就是反转输出。
回复 使用道具 举报
本帖最后由 段燚涛 于 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, 下载次数: 67)

QQ截图20150801135944.png

点评

很好  发表于 2015-8-1 14:02
回复 使用道具 举报
StringBuffer sb = new StringBuffer();                 sb.reverse();                 System.out.println(sb);
回复 使用道具 举报
  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.         }
复制代码
回复 使用道具 举报
StringBuffer 的reverse方法就可以实现反转功能啊
回复 使用道具 举报
StringBuffer里有个reverse功能
回复 使用道具 举报
几种方法都可以实现的,LS基本都说的差不多了。
要么转换为字符数组然后遍历取反。
要么转换为StringBuffer类型,直接调用它的reverse()方法,再把StringBuffer类型转换回字符串。
回复 使用道具 举报
楼上正解。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马