现在有一个需求,有一个JSONArray数组,数组长度不固定,但要求固定输出15个数组中的值,这个如何处理?JAVA JSON 算法

解决方案 »

  1.   

    举例如下,比如数组 newArray[0,1,2,3,4,5,6,7,8,9],这是一个定长的数组,这只是举例 ,数组其实是不定长的,要求不管这个不定长的数组长度多少, 转换生成的新数组,都输出15个值.如果这个数组有365个元素,输出是15个,如果这个数组是700个值,输出的新数组,也只包括15个值.
      

  2.   

    比如:newArray[0,1,2,3,4,5,6,7,8,9],是十个值,要输出成array[0,5,9]三个值 ,但是newArray是不固定长度的,有可能超过十个值,比如500个值 ,输出的也是array[0,250,500]l三个值.大概就是一个不固定长度的数组,固定输出定长的数组的意思.
      

  3.   


    import java.util.ArrayList;
    import java.util.List;
    /**
     * 测试.
     * 
     * @author Ruidong_pu
     * @version 2013.1.3
     */
    public class TestTop {

    /**
     * list是一个有序的集合.并且长度可变
     * 按照你的提示,我觉得是取[0,最大数字/2,最大数字]
     * 下面这个方法只要传入一个最大数字就可以生成你需要的输出.
     * @param num
     * @return List
     */

    public List ListNum(long num){

    if (num<0||num>Long.MAX_VALUE) { //这一步是用于判断输入的数字是否小于0,并且大于LONG的最大数字.
    System.err.println("输入的数字小于0!,或者超过了LONG的最大容量");
    return null;
    }
    /*
     * >>可注释
     * 原始list.
     */
    List list = new ArrayList();
    for (int i = 0; i <= num; i++) {
    list.add(i);
    }

    /*
     * 可注释end<<
     * 如果你只是需要输出那三个数字,而不需要添加到List那么可以把上面的4行代码注释掉
     */


    /*
     * 新list,用于添加需要输出的数字.
     */

    List newlist = new ArrayList();

    /*
     * 将需要输出的三个数字插入到新list.
     */
    newlist.add(0);
    newlist.add(num/2);
    newlist.add(num);

    return newlist;
    }

    public static void main(String []args) {
    // TODO Auto-generated method stu
    TestTop t =new TestTop();
    List list=t.ListNum(-150L);//输入一个最大值.
    if (list!=null) {
    for (Object obj : list) {
    System.out.println(obj);
    }
    }

    }
    }
    用List帮你写了一个,如果还有问题Q我吧877470746.
      

  4.   

    用JSONArray的listIterator()方法迭代出15个不可以么