【发布时间】:2011-11-30 02:11:10
【问题描述】:
我是 Java 新手,我正在尝试通过递归函数部署斐波那契轨迹,然后计算运行时间。 这是我设法编写的代码:
class nanoTime{
int fib(int n){
if(n==0) return 0;
if(n==1) return 1;
return this.fib(n-1)+this.fib(n-2);
}
public static void main(String[] args){
double beginTime,endTime,runTime;
int n=10;
beginTime = System.nanoTime();
n = this.fib(n);
endTime = System.nanoTime();
runTime = endTime-beginTime;
System.out.println("Run Time:" + runTime);
}
}
问题是当我尝试将其转换为字节码时出现以下错误:
nanoTime.java:11: non-static variable this cannot be referenced from a static context
我想知道是什么问题?!
【问题讨论】:
-
你应该使用 CamelCase 作为类名...下次叫它
NanoTime。 -
+1 @JB Nizet - 经常在谷歌上搜索您的异常并且您收到的消息会为您提供良好的结果和解决问题的方法。对于初学者的问题(例如这个)或更多晦涩的问题,这是正确的
标签: java recursion static syntax-error