使用currentTimeMillis作为方法

时间:2016-01-30 17:07:36

标签: java

我尝试使用currentTimeMillis记录运行某个方法所经过的时间,但是我在打印时间方面遇到了麻烦......

public int foo(int n, int k) {
    if(n<=k)
        return 1;
    else
        return foo(n/k,k) + 1;
}

我会在哪里写下starTime,endTime和差异的行?

我尝试用不同的方法抛出它:

public static long p3(int n, int k){
    long starTime = System.currentTimeMillis();
    foo(n, k);
    long endTime = System.currentTimeMillis();
    long difference = endTime - starTime;
    return difference;
}

但差异总是显示为0 ......

1 个答案:

答案 0 :(得分:4)

如果该方法执行时间不到一毫秒,那么差值将为零。

然后你需要使用纳秒。系统类也有这样的方法: System#nanoTime();