数据库中查询出的结果放入一个List中。每个List元素假设包括:姓名,书本数量,铅笔数量。例如这样:
list.get(0):张三,100,10
list.get(1):李四,200,20
list.get(2):王五,300,30
list.get(3):赵六,400,40
现在需要把第2项与第3项分别求和,如上例,结果就是
(姓名),1000,100
把求出来的结果放在list的结尾,结果如下所示(姓名不用求和):
list.get(4):(姓名为空),1000,100
请教各位,写个方法给我,具体的代码最好。谢谢!

解决方案 »

  1.   

    张三,100,10  这3样也是存放在一个list中?   100  和 10  都是字符串类型?
      

  2.   

    “赵六,400,40”这一个字符串?如果是的话,你这存的方式就是不对的,应该写个 POJO 类,把值放到 POJO 中,再将这个 POJO 塞到 List 中去,这样会比较方便些。如果是字符串的话,还得解析这个字符串,而且你用的逗号好像还是不一样的!
      

  3.   

    不是字符串,原本的是这样的
    List list = getJdbcTemplate().queryForList(select * from table1);
    然后得出的list就是上面那样
      

  4.   

    那要看 queryForList() 方法里面是怎样组织数据的,是字符串拼接呢?还是怎样?
      

  5.   

    建议写个类封装数据,应该是
    int sunvalue2=0;
    int sunvalue3=0;
    for(int i=0;list!=null&&list.size();i++)
    {
      List al_row=(List)list.get(i);
      String value1=al_row.get(0);//张三
      String value2=al_row.get(1);//100
      String value3=al_row.get(2);//10
      sunvalue2=sunvalue2+Integer.parseInt(value2);
      sunvalue3=sunvalue3+Integer.parseInt(value3);
    }
    ArrayList tmplist=new ArrayList();
    tmplist.add("");
    tmplist.add(String.valueOf(sunvalue2));
    tmplist.add(String.valueOf(sunvalue3));
    list.add(tmplist);
    lz应该是这个意思吧
      

  6.   

    我要表达的和  myydzhz()  所写的代码的意思差不多了
    我已经解决这个问题了,为了项目,唉,没办法
    我的解决方法是,直接用SQL语句查询SUM()出来,而后把结果放进list2,再把list2追加到list1的结尾,list1里面前面就是(select * from table1)查询出来的结果,下面是代码
    List listAll = getJdbcTemplate().queryForList("select * from table1");
    list1.add(listAll);
    List list2 = getJdbcTemplate().queryForList("select sum(book) as SUM1,sum(pen) AS SUM2 from table1");
    list1.add(list2);
    ...
    然后action里写
    List listOther = (List)list1.get(0);
    List listSum1 = (List)list1.get(1);
    getSession().setAttribute("listSum", listSum1);
    ...
    大概是这个意思了。谢谢各位