thingking in java中实现range()功能

在TIJ中,作者自己写了个工具包,其中有range()函数,大概就是range(int start,int end, int step),传入三个参数,生成一个数组,比如传入range(1,11,2),生成{1,3,5,7,9}。它的实现是这样的。

public static int[] range(int start,int end,int step){
    int sz =(end-start)/step;
    int[] result=new int[sz];
    for(int i=0;i<sz;i++)
        result[i]=start+(i*step);
    return result;
}

这样的话我range(1,10,2),得到的是{1,3,5,7}这样的数组, 但我看到python中range的用法是range(1,10,2)得到的是[1,3,5,7,9],所以java中怎样写这个函数得到后面的结果,如果有python中关于这个range()的源码也可以,求助。。

charsandrew
浏览 4483回答 1
1回答

tanhouyusheng

int sz =(end-start)/step;这句处理的不好,少了一个数,向上取整应该就行了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Python