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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 单凯 中级黑马   /  2013-8-17 09:46  /  1846 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求教大神反转这个函数怎么用,我写了个程序
public static void main(String[] args)
        {
                int[] a= {0,15,-14,45,20,70};  
                a.reverse();
               System.out.print(new StringBuffer(a).reverse().toString());
                String arr[]={"aaa","bbb","ccc"};
                List <String> l=Arrays.asList(arr);
                l.reverse();               
                System.out.print(new StringBuffer(l).reverse().toString());       

        }

错误很多,reserve方法不支持数组和List<String>,
还有StringBuffer的用法我也不是很清楚,不能接收int【】和List<String>类型;
我查了查,reverse在Integer和StringBuffer类中,但是还是不知道具体怎么用,
希望大神指点

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

5 个回复

正序浏览
在类Collections里有静态reverse的实现。注意不要查成Collection接口里面去了。
回复 使用道具 举报
我把你的代码改了下:
  1. import java.util.*;
  2. class aaa
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 Integer[] a = {0,15,-14,45,20,70};
  7.                 List<Integer> ls = Arrays.asList(a);
  8.                 Collections.reverse(ls);
  9.                 StringBuilder sb = new StringBuilder();
  10.                 Iterator<Integer> it = ls.iterator();

  11.                 while (it.hasNext())
  12.                 {
  13.                         Integer itg = it.next();
  14.                         sb.append(itg+",");
  15.                 }
  16.                 System.out.println(sb);

  17.                 String arr[]={"aaa","bbb","ccc"};
  18.         List <String> ls1 = Arrays.asList(arr);
  19.                 Collections.reverse(ls1);
  20.                 StringBuilder sb1 = new StringBuilder();
  21.                 Iterator<String> it1 = ls1.iterator();

  22.                 while (it1.hasNext())
  23.                 {
  24.                         String itg = it1.next();
  25.                         sb1.append(itg+",");
  26.                 }
  27.                 System.out.println(sb1);
  28.                
  29.         }
  30. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
以防万一 + 1 在代码上加上相应的注释会更好.

查看全部评分

回复 使用道具 举报
reverse方法

                            public StringBuffer reverse()

该方法的作用是将StringBuffer对象中的内容反转,然后形成新的字符串。例如:

         StringBuffer sb = new StringBuffer(“abc”);

         sb.reverse();

经过反转以后,对象sb中的内容将变为”cba”。
回复 使用道具 举报
薛淑凯 发表于 2013-8-17 10:32
首先,不是reverse不支持某种类型,而是这种类型不支持reverse方法。数组和lLst集合都没有reverse方法,无 ...

int【】类型只能一个一个的传,变成字符串之后,怎么在将字符串转换成int【】呢?
回复 使用道具 举报
首先,不是reverse不支持某种类型,而是这种类型不支持reverse方法。数组和lLst集合都没有reverse方法,无从调用。
然后,StringBuffer可以接收什么参数,看看api文档就知道了。最简单的就是把要存的参数转换成字符串再传递给StringBuffer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马