2016-05-05 9 views
-4

私は再帰を使用して最初の10要素のフィボナッチシリーズを生成しようとしています。しかし、コンパイラはエラーを出します。正確な解決策を見つけるのを手伝ってください。フィボナッチシリーズはJavaで再帰を使用しています

//プログラムは以下の通りです:

public class DemoJava { 

    int a=0, b=1, c=0, count=10; 

    public void fibonacciRecursion(count) { 

     if(count>0){ 

      c = a+b; 
      a = b; 
      b = c; 
      System.out.println(c); 
      fibonacciRecursion(count-1); 

     } 
    } 

    public static void main(String args[]){ 

     System.out.println("This is a Demo Program."); 
     System.out.println(a); 
     System.out.println(b); 

     DemoJava dj = new DemoJava(); 
     dj.fibonacciRecursion((count-2)); 
    } 
} 

//エラーは以下のとおりである:

error: <identifier> expected 
     public void fibonacciRecursion(count) { 
              ^
1 error 
+0

が広すぎるように閉じるように投票し、[お読みくださいチュートリアル](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html)を参照して、言語の基礎を理解してください。 –

答えて

1
public void fibonacciRecursion(int count) 

あなたはメソッドシグネチャにintを逃しました。次に

、これはのように書かなければならない

dj.fibonacciRecursion((count-2)); 

countは、インスタンス変数であるため

dj.fibonacciRecursion((dj.count-2)); 

+0

"プロトタイプ"はCプログラムの前方宣言ですが、Javaでは存在しません。 "メソッド宣言"を意味します。 –

+0

私はそれを試みましたが、コンパイラは再びエラーエラーを出します:静的コンテキストから非静的変数カウントを参照することはできません dj.fibonacciRecursion((count-2)); –

+0

@NathanHughes、指摘に感謝します。私は署名を意味しました。 –

2

うーん...

私はあなたのメソッドのパラメータに変数の型を指定する必要がありますかなり確信している、このような何か:

public void fibonacciRecursion(int count) { 
関連する問題