2016-05-05 3 views
-4

Ich versuche, eine Fibonacci-Serie der ersten zehn Element mit Rekursion zu generieren. Aber der Compiler gibt einen Fehler. Bitte helfen Sie mir, die genaue Lösung zu finden.Fibonacci-Serie mit Rekursion in Java

// Das Programm ist unten angegeben:

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)); 
    } 
} 

// Fehler unten gegeben:

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

gestimmt als zu breit, lesen Sie bitte ein schließen [ Tutorial] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html), um eine Vorstellung von den Grundlagen der Sprache zu bekommen. –

Antwort

1
public void fibonacciRecursion(int count) 

Sie die int in der Methodensignatur verpasst.

Zweitens

dj.fibonacciRecursion((count-2)); 

Diese schriftliche wie sollte:

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

weil count ist eine Instanzvariable.

+0

"Prototyp" ist die Vorwärtsdeklaration in einem C-Programm, es existiert nicht in Java, Sie meinen "Methodendeklaration". –

+0

Ich habe es versucht, aber der Compiler gibt wieder Fehler Fehler: nicht statische Anzahl Variablen kann nicht aus einem statischen Kontext verwiesen werden dj.fibonacciRecursion ((count-2)); –

+0

@NathanHughes, danke für das Aufzeigen. Ich meinte Unterschrift. –

2

Nun ...

Ich bin mir ziemlich sicher, dass Sie den Variablentyp auf einem Methodenparameter, um so etwas zu geben haben:

public void fibonacciRecursion(int count) {