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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Spring up 中级黑马   /  2012-12-17 11:09  /  1934 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

写一个方法,实现字符串的反转,如:输入abc,输出cba

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

11 个回复

倒序浏览
String str = "abc";
StringBuffer buf = new StringBuffer(str);
buf = buf.reverse();
str = new String(buf);
哈哈...有现成的方法嘛...

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
黑马黄涛 发表于 2012-12-17 11:18
String str = "abc";
StringBuffer buf = new StringBuffer(str);
buf = buf.reverse();

我知道有 ,  自己写怎么写呢?
回复 使用道具 举报
你也可以切割拼接...但是那样内存会产生好多好多字符串对象了 "a" "b"  "c" "cb"这些都是无用的对象,肯定会降低系统性能的,呵呵 不过StringBufferer的反转内部实现方估计也是这个...甚至会优化哦...所以建议用现成的呗...
回复 使用道具 举报
StringBuffer bufStr = new StringBuffer(new String("abc"));
bufStr = buf.reverse();
System.out.println(bufStr.toString());
回复 使用道具 举报
使用String的charAt(int)方法...
然后for循环... String str="";

for (int i=0; i <"abc".length(); i++){
  str+="abc".charAt("abc".length()-1-i);
}
str就是啦...
回复 使用道具 举报
呵呵...大概就是这个思路啦...
回复 使用道具 举报
黑马黄涛 发表于 2012-12-17 11:18
String str = "abc";
StringBuffer buf = new StringBuffer(str);
buf = buf.reverse();

.无聊逛逛还能看到

自己写的话 不嫌麻烦就写个char[]
然后subString(i,i+1);
然后将char[]反转以后.toString()
嘛 就这样
回复 使用道具 举报
朱宏青 发表于 2012-12-17 11:24
.无聊逛逛还能看到

自己写的话 不嫌麻烦就写个char[]

呵呵...思路很多啦...
使用String的charAt(int)方法...
然后for循环... String str="";

for (int i=0; i <"abc".length(); i++){
   str+="abc".charAt("abc".length()-1-i);
}
java板块的技术分好难挣....答对了也...
看看.net的...哈哈,所以去.net背分去了...今天挣了2分呢...

呵呵,你的这个比我的那个多产生了 "a" "b" "c"三个对象...哈哈...
回复 使用道具 举报
黑马黄涛 发表于 2012-12-17 11:27
呵呵...思路很多啦...
使用String的charAt(int)方法...
然后for循环... String str="";

所以一般情况下...我是不会用subString()的,太浪费内存的了...
回复 使用道具 举报
黑马黄涛 发表于 2012-12-17 11:28
所以一般情况下...我是不会用subString()的,太浪费内存的了...

嗯...前辈..去吃饭了...
呵呵...以后还请多多指教了{:3_67:}
回复 使用道具 举报
  1. public static void main(String[] args) {
  2.                 // 写一个集合,集合存放的是整形的数据
  3.                 ArrayList aList = new ArrayList();
  4.                 aList.add(5);
  5.                 aList.add(2);
  6.                 aList.add(3);
  7.                 aList.add(4);

  8.                 Sample.daxiao(aList);
  9.                 Sample.xiaoda(aList);

  10.         }

  11.         // 写一个帮助类,帮组类中有两个static方法,一个方法为从大到小的顺序排序
  12.         public static class Sample {
  13.                 // 方法为从大到小的顺序排序
  14.                 public static void daxiao(ArrayList aList) {
  15.                         // 通过Collections.sort()排序
  16.                         Comparator comp = Collections.reverseOrder();
  17.                         Collections.sort(aList, comp);

  18.                         Iterator iterator = aList.iterator();
  19.                         while (iterator.hasNext()) {
  20.                                 System.out.println(iterator.next());
  21.                         }
  22.                 }

  23.                 // //方法为从小到大的顺序排序
  24.                 public static void xiaoda(ArrayList aList) {
  25.                         // 通过Collections.sort()排序
  26.                         Collections.sort(aList);

  27.                         Iterator iterator = aList.iterator();
  28.                         while (iterator.hasNext()) {
  29.                                 System.out.println(iterator.next());
  30.                         }
  31.                 }
  32.         }
复制代码
楼主参考我的这个对集合的反向排序方法改一下 应该能解决
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马