1. ホーム
  2. java

[解決済み】Eclipseで変数に解決できないエラー

2022-02-22 06:01:10

質問

フィボナッチ数列を表示する簡単なプログラムを書こうとしています。フィボナッチ数列の値を計算するfibNumberというメソッドを作り、run()メソッドでforループを使ってその値を15回表示させたいと思います。問題は、forループのprintlnメソッドです。Eclipseでは、"n cannot be resolved to a value" と "i cannot be resolved to a value" と表示されます。変数の宣言という点では、すべてのベースをカバーしたつもりです。何か見落としているのでしょうか?

書きたいことは、F15までのすべて

F0 = 0
F1 = 1
F2 = 1
F3 = 2
F4 = 3
F5 = 5

import acm.program.*;


public class FiccononicSequence extends ConsoleProgram {

public void run(){
    println("This program prints out the Fibonacci sequence.");

    for (i = 1; i <= 15; i++){

        println("F" + i + " = " + fibNumber(n));

    }




}


private int fibNumber(int n){
    if (n == 0){
    return 0; 
    }else{ if (n == 1){
    return 1;
    }else{
    return fibNumber(n - 1) + fibNumber(n - 2);




}      

解決方法は?

これを試してみてください...

- ここで問題となるのは scope 変数 .

- i は、以下のようなタイプで宣言されている必要があります。 int であり、これは ローカル から run() メソッド 代わりに n というように n は別の ローカル変数 fibNumber() メソッドを使用します。

- in は完全に 異なるスコープ であり 見えない を互いに比較することができます。

for (int i = 1; i <= 15; i++){

        println("F" + i + " = " + fibNumber(i));  // i should be here.

    }