フィボナッチ数列を表示できるプログラムを書こうとしています。ただし、入力した数値は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;
}
いくつかの修正を行い、エラーを 1 つ減らしました。
error: cannot find symbol
System.out.print("Fibonacci #"+number+" is "+fibcalc(fib)+"\n");
symbol: variable fib
ちょっとした質問が来ました。あるメソッドが変数に対して別のメソッドを呼び出すことはできますか? 変数は中括弧の中にあります。私のコードにあるもののようなものです。私のエラーのほとんどはこれに似ていたようです。