遇到的问题是这样的
public static void main(String[] args) {
// TextArrays a=new TextArrays();
int n=0;
Scanner scanner=new Scanner(System.in);
n=scanner.nextInt();
System.out.println(f(n));
}
public int f(int n){
if(n==1||n==2){
return 1;
}
else{
return f(n-1)+f(n-2);
}
}
报错是这样的:Error:(14, 28) java: 无法从静态上下文中引用非静态 方法 f(int)
具体的解决:
new 一个对象调用非静态方法f
或者 将f()改成静态方法
在一个静态类里面 如果不通过对象调用一个非静态方法,这是不被允许的
要么把方法变成静态方法,要么通过对象来调用它
来源:CSDN
作者:_凌晨两点半_
链接:https://blog.csdn.net/WA_MC/article/details/104751127