我在Java中有两种方法(例如阶乘计算),我必须测试这两种方法,以找出哪一种更快。我将这个代码分别实现为递归和循环:
它们都在同一个类数据中。
public long FakultaetRekursiv( int n){
if(n == 1){
return 1;
}
else{
return FakultaetRekursiv(n-1) * n;
}
}
public long Fakultaet( int n){
int x=1;
for(int i=1; i<=n; i++){
x= x*i;
}
return x;
}
我听说currentTimeMillis()可以帮助一点,但我不知道具体怎么做。 谢谢。
n==1
改为n==0
,因为根据定义 0! == 1。同时,对于负数的 n 值,可以抛出异常。 - MrSmith42