ArrayList<Long> arr = new ArrayList<Long>();
for (int i = 0; i < 185; i++) {
arr.add(new Long(i));
} StringBuffer sb = new StringBuffer();
sb.append("<cim client=\"bs\" type=\"queryStatus\"><userList>"); for (long i : arr) {
sb.append("<user id=\"" + i + "\"/>");
} sb.append("</userList></cim>");
System.out.print(sb.toString());
我想以arr以20个一组 拼凑字符串输出  不满20一组的 就发余下的

解决方案 »

  1.   

    sb.append("<cim client=\"bs\" type=\"queryStatus\"><userList>");
    为什么输出是这种形式啊?我比较无语看的不舒服
      

  2.   

    我的意思 先有一个数组
    ArrayList<Long> arrList = new ArrayList<Long>();
    for (int i = 0; i < 185; i++) {
    arr.add(new Long(i));
    }
    我想已20一个一组输出  不满20个一组的  就安装余下的输出如: 1,2,4,5,6.。20
         20,22,23,24.。40
        .。
        161,162。185
      

  3.   


    package mypackage.secondpackage;import java.util.ArrayList; 
    /**
     * The Class Myjava.
     */
    public class Myjava { public static void main(String[] args) {
    ArrayList<Long> arr = new ArrayList<Long>();
    for (int i = 0; i < 185; i++) {
    arr.add(new Long(i));
    } StringBuffer sb = new StringBuffer();
    sb.append("<cim client=\"bs\" type=\"queryStatus\"><userList>");
    sb.append("\r\n\r\n");
    for (long i : arr) {
    sb.append("<user id=\"" + i + "\"/>");
    if ((i + 1) % 20 == 0) {
    sb.append("\r\n\r\n");
    }
    }
    sb.append("\r\n\r\n");
    sb.append("</userList></cim>");
    System.out.print(sb.toString());
    }}
      

  4.   

    lord_is_layuping 不是这样的  我要的结果是
    <cim client="bs" type="queryStatus"><userList><user id="0"/><user id="1"/><user id="2"/><user id="3"/><user id="4"/><user id="5"/><user id="6"/><user id="7"/><user id="8"/><user id="9"/><user id="10"/><user id="11"/><user id="12"/><user id="13"/ .></userList></cim><cim client="bs" type="queryStatus"><userList><user id="21"/><user id="22"/><user id="23"/>.</userList></cim><cim client="bs" type="queryStatus"><userList><user id="41"/><user id="42"/><user id="23"/>.</userList></cim>
      

  5.   


    import java.util.*;
    public class Arrlong{
    public static void main(String[] args){
    int cnt=0,i=0;
    ArrayList<Long> arr=new ArrayList<Long>();
    for(int k=0;k<185;++k){
    arr.add(new Long(k));
    }
    cnt=(int)Math.ceil(arr.size()/20.0);
    StringBuffer sb=new StringBuffer();
    while(i<cnt){
    sb.append("<cim client=\"bs\" type=\"queryStatus\"><userList>");
    sb.append("\r\n\r\n");
    for(int j=1;j<=20;j++){
    if((i*20+j)>arr.size()) break;
    sb.append("<user id=\"" + (i*20+j) + "\"/>");
    }
    sb.append("\r\n\r\n");
    sb.append("</userList></cim>");
    sb.append("\r\n\r\n");
    i++;
    }
    System.out.println(sb);
    }
    }