有没有办法每毫秒换一次?

时间:2016-08-02 02:44:03

标签: android datetime

private long LagrangeCaculation(){
    Date date = new Date();
    long curMillis = date.getTime();
    long since = curMillis-birthMills;
    Long result = 0L;
    Long aloneResult;
    for (int i = 0; i < 27; i++) {
        if(size == "Big"){
            aloneResult = data[2][i];
        }else {
            aloneResult = data[1][i];
        }
        for (int j = 0; j < 27; j++) {
            if (i != j) {
                aloneResult *= (since - data[0][j]) / (data[0][i] - data[0][j]);
            }
        }
        result += aloneResult;
    }
    return result;
}

(尺码是我的另一个参数) 现在,我正在使用这个函数(基于拉格朗日多项式)通过传递System.currentMills来获得每毫秒更改的时间。但它不起作用,不允许将更改时间作为参数传递?

1 个答案:

答案 0 :(得分:0)

您可以使用函数本身调用System.currentTimeMillis,而不是传递millis参数。因此,只要在for循环中调用System.currentTimeMillis,就会返回当前系统时间。例如:

private long LagrangeCaculationForSmall(){
        Long result = 0L;
        Long aloneResult;
        for (int i = 0; i < 27; i++) {
            aloneResult = data[1][i];
            for (int j = 0; j < 27; j++) {
                if (i != j) {
                    aloneResult *= (System.currentTimeMillis() - data[0][j]) / (data[0][i] - data[0][j]);
                }
            }
            result += aloneResult;
        }
        return result;
    }

(或者,如果您希望能够将不同的时间函数作为参数传递,则可以传递lambda表达式。)