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? ");
number = in.nextInt();
}while(number < 0 || number > 71);
System.out.printf("Fibonacci #%d is %d\n",number, fibcalc(fib));
}
public static double fibcalc(int 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;
}
上記のコードは私が持っているものです。
以下は、私が取得し続けるエラーです。
error: cannot find symbol
System.out.printf("Fibonacci #%d is %d\n",number, fibcalc(fib));
^
symbol: variable fib
location: class dlin_Fibonacci
見つからないと言っている
fibcalc(fib)
fib
メソッドからの値を返したいfibcalc
ので、メソッドで出力できますmain
。
なぜそれが私を許さないのか誰かが知っていますか?
変数のみを使用してみましたfib
が、結果は同じエラー メッセージです。fib
これは、変数がクラス変数ではなくローカル変数であるという事実と関係がありますか? もしそうなら、どうやってそれをクラス変数にするのですか? 変数fib
をメソッドnumber
の上に移動してみました。main
何かのようなもの...
private static int number = 0;
private static double fib = 0;
public static void main(String arg[])
ただし、これによりエラーが発生しましillegal start of an expression
た:変数の場合。
また、returnステートメントを正しく行っているかどうかを誰かに教えてもらえますか?
私は、動画を視聴しているさまざまなサイトに行くことについていくつかの調査を行いました。私はすべてのステップに従ったようです。ただし、メソッド内の () 内の変数である「パラメーターを渡す」ことの意味についてはまだ理解していません。その変数は他のメソッドからのものですか、それとも書かれたメソッド内で作成されただけですか? 上記の例のように、() 内に変数を記述するだけで、メソッドからメソッドに変数int number
が渡されますか?main
fibcalc