Java 范围、方法和返回

Java 范围、方法和返回,java,scope,Java,Scope,我一直在试图写一个程序,可以显示斐波那契序列。但是,我输入的任何数字都将输出0。我怀疑这可能与变量的范围有关,也可能与我的返回错误有关。有人能看看我的代码,看看是否真的是这些问题吗?我对java有点陌生,所以即使是基础知识对我来说也很难 public static void main(String args []) { Scanner in = new Scanner(System.in); int number = 0; do{ System.

我一直在试图写一个程序,可以显示斐波那契序列。但是,我输入的任何数字都将输出0。我怀疑这可能与变量的范围有关,也可能与我的返回错误有关。有人能看看我的代码,看看是否真的是这些问题吗?我对java有点陌生,所以即使是基础知识对我来说也很难

 public static void main(String args [])
  {
    Scanner in = new Scanner(System.in);

    int number = 0;

    do{
        System.out.print("Which Fibonacci Number would you like? ");
        fib = in.nextInt();
    }while(number < 0 || number > 71);

    System.out.print("Fibonacci #"+number+" is "+fibcalc(fib)+"\n");
}

public static double fibcalc(double number)
{
    double prevNumber1 = 0;
    double prevNumber2 = 1;
    double fib = 0;

    for(int i =0; i < number; i++){
        fib = prevNumber1;
        prevNumber1 = prevNumber2;
        prevNumber2 = fib + prevNumber2;

}
    return fib;
}
我有个问题。
一个方法可以为变量调用另一个方法吗?变量位于花括号内。我的代码中也有类似的错误。似乎我的大多数错误都与此类似。

这与范围无关。请看以下代码:

while(i < fib){
    fib = prevNumber1;
    ...
}

这与范围无关。请看以下代码:

while(i < fib){
    fib = prevNumber1;
    ...
}

感谢指针,我更改了循环结构,将原始fib更改为数字。感谢指针,我更改了循环结构,将原始fib更改为数字。
for (int i = 0; i < count; i++) {
    // whatever
}